“કેમ છો?”ને સમજીએ - ચીરાગ પટેલ ઑક્ટોબર 09, 2009
બીજા પગલા તરીકે, ચાલો “કેમ છો?” પ્રૉગ્રામને સમજીએ. “કેમ છો?”ની દરેક લીટીને હું આજે ક્રમ આપીને સમજાવીશ.
સહુપ્રથમ મુળ સુચીને અગ્રક્રમાંક સાથે ફરીથી જુઓ.
1 - // my first ever “kem chho?” program in c++
2 - #include <iostream>
3 -
4 - int main( int argc, char* argv[] )
5 - {
6 - std::cout << “kem chho?\n”;
7 - return 0;
8 - }
હવે, ક્રમવાર દરેક લીટીને સમજીએ.
1 - // my first ever “kem chho?” program in c++
આ લીટીની શરુઆત “//”થી થાય છે. ત્યારબાદ નવી લીટી ના આવે ત્યાં સુધી લખેલાં શબ્દોને કૉમેન્ટ (comment) કહેવાય છે, જે આ પ્રૉગ્રામને વાંચનાર કે લખનારને સમજુતી આપવા માટે હોય છે. આવી કૉમેન્ટનો પ્રૉગ્રામના પરીણામ(output)માં કોઈ ફાળો નથી હોતો. એક કરતાં વધુ લીટીની કૉમેન્ટ માટે શરુઆત “/*”થી કરવાની હોય છે. ત્યારબાદ જે શબ્દો લખાય એના અન્તે “*/” લખવાથી આખી કૉમેન્ટ પુરી થાય છે. જેમ કે,
/* This is a multi-line comment example.
Did you get the point now?
*/
આ જ કૉમેન્ટને પ્રથમ પ્રકારે લખવી હોય તો નીચે મુજબ લખી શકાય.
// This is a multi-line comment example.
// Did you get the point now?
એક પાયાનો તફાવત સમજાવુ. “//” પ્રકારની કૉમેન્ટની ડાબી બાજુ જે લખાય છે એનો પ્રૉગ્રામના પરીણામમાં ફાળો ગણાય છે. જ્યારે, “/*…*/” પ્રકારની કૉમેન્ટમાં માત્ર અને માત્ર “/* અને “*/” વચ્ચેના શબ્દો સીવાયના શબ્દોનો પરીણામમાં ફાળો હોય છે! જેમ જેમ આપણે મહાવરો કરતા જઈશું તેમ તેમ આ ભેદ વધુ સ્પષ્ટ થશે.
2 - #include <iostream>
આપણે ઈન્ગ્લીશનો કોઈ શબ્દ સમજવો હોય તો ઈન્ગ્લીશ કોશ જોવો પડે અને કોઈ સ્પેનીશ શબ્દ જાણવો હોય તો સ્પેનીશ કોશ જોવો પડે. એવી રીતે 6ઠ્ઠી લીટી પર જે લખ્યુ છે એને યોગ્ય રીતે સમજવા માટે આપણા પ્રૉગ્રામે 2જી લીટીમા લખેલી લાયબ્રેરી(library)નો સન્દર્ભ ટાંકવો પડે. અહીં આપણે iostream નામની લાયબ્રેરીને ટાંકી રહ્યાં છીએ.
3 -
આ લીટીને ઈરાદાપુર્વક ખાલી છોડવામાં આવી છે. જો કે એ જરુરી ન્હોતુ, પણ પ્રૉગ્રામ સુવાચ્ય બને એ માટે ખાલી છોડી છે.
4 - int main( int argc, char* argv[] )
અહીં main એ આપણા ફન્ક્શન(function)નું નામ છે. દરેક સી/સી++ પ્રૉગ્રામમાં મેઈન ફન્ક્શન હોવું જ જોઈએ અને એ પ્રૉગ્રામની શરુઆત માટેનો દરવાજો છે. જે તે ઑપરેટીન્ગ સીસ્ટમ દરેક ઍપ્લીકેશનના મેઈન ફન્ક્શનને જ સહુપ્રથમ દોડાવે છે.
અહીં મેઈનને બે પ્રકારના પ્રસાદનો ભોગ ચઢાવાયો છે: int argc અને char* argv[]. એમને ભવીષ્યમાં સમજીશું. મેઈન આપણને જે આશીર્વાદ આપે છે એનો પ્રકાર int છે, જે પણ આપણે પછી સમજીશું. (મેઈન એવા ભગવાન છે જે પહેલાં આશીર્વાદ આપે છે અને ભોગ પછી લે છે - માત્ર દેખાડવા માટે જ. હકીકતે તો એ પણ આપણા ભગવાનોની જેમ જ ભોગ પહેલા લે છે અને આશીર્વાદ છેલ્લે આપે છે.)
5 - {
કોઈ પણ ફન્ક્શનની શરુઆત આવા આરમ્ભ કૌંસ(open brace)થી કરવી પડે છે.
6 - std::cout << “kem chho?\n”;
અહીં આપણે iostream લાયબ્રેરીના std નામના પ્રકરણ(namespace)નું cout (સીઆઉટ) નામનું ફન્ક્શન બોલાવીએ છીએ. આપણે “<<” વડે “kem chho?\n” નામનું વાક્ય એને આપીએ છીએ. એનું પરીણામ cout કેવી રીતે દર્શાવે છે એ આપણે ફરી ક્યારેક સમજીશું. વળી, “\n” શું છે એ પણ આપણે ફરી સમજીશું.
7 - return 0;
આપણું ફન્ક્શન 0 રુપી પરીણામ આપી રહ્યું છે. આ ફન્ક્શન જેણે બોલાવ્યું હોય એને આ રકમ આપવામાં આવે છે. આપણું ફન્ક્શન main હોવાથી આ પરીણામ ઑપરેટીન્ગ સીસ્ટમને આપવામાં આવે છે. તમે જો 0 સીવાયની કોઈ રકમ પાછી વાળો તો ઑ.એસ. આપણાં પ્રૉગ્રામની અલગ રીતે સરભરા કરી શકે છે! એનાં થોડા પ્રયોગો કરો અને જુઓ કે કાંઈ ફેર પડે છે? 0 ને બદલે -1 કે 1 કે 1000 રીટર્ન કરી જુઓ.
8 - }
કોઈ પણ ફન્ક્શનનો અન્ત આવા અન્ત્ય કૌંસ(close brace)થી કરવો પડે છે.
3 Responses