C (ක්‍රමලේඛන භාෂාව)

පරිගණක විද්‍යාවේ දී,C(/ˈsiː/,C අකුර ශබ්ද කරන අයුරින්) යනු පොදු කාර්යපරිගණක භාෂාවක්වන අතර, මෙය ලොවට හඳුන්වාදුන්නේ 1969-1979 කාලය අතරAT&T බෙල් පර්යේෂණාගාරයේදීඩෙනිස් රිචීමහතා විසිනි.ALGOLසම්ප්‍රදායේ පවතින බොහෝවිධානාත්මක භාෂාවල මෙන්, C පරිගණක භාෂාවදස්තිථික ටයිප් පද්ධති, බොහෝ අපෙක්ෂා නොකල කාරකයන් වළක්වද්දීත්ව්‍යූහාත්මක වැඩසටහන්කරණයට පහසුකම් සැළසීම සහlexical විචල්‍ය අවකාශයකට හාසහානුයාතවලට ඉඩදීම සිදු කරයි. C භාෂාවේප්‍රභව කේතයන් නිදහස් ආකෘතියක් ගන්නා අතරවැකි අවසන් කිරීමට තිත් කොමාව(;) දවැකි කාණඩගත කිරීමටසඟල වරහනද භාවිතා කරයි. එහි පවතින සැකැස්ම නිසා කාර්යක්ෂමව වැඩසටහනක ඇති අංගයන් ඊට අදාළයන්ත්‍ර උපදෙස්වලට ඈඳීම කල හැකි අතර එම නිසාUnixපරිගණකමෙහෙයුම් පද්ධතියේඅඩංගු පද්ධති මෘදුකාංග වැනිAssembly පරිගණක භාෂාවභාවිතයෙන් ලියන ලද වැඩසටහන් පවා දිගින් දිගටම භාවිතා කිරීමට හැකියාව ලැබී ඇත.
C යනු මෙතෙක් ලොව වැඩියෙන්ම භාවිතා කර ඇති පරිගණක භාෂාව වන අතරC භාෂාව සඳහාභාෂා පරිවර්තකයක්දක්නට නොමැත්තේ ඉතා අඩුපරිගණක ආකෘතීන්කිහිපයක පමණකි.
C#,D,Go,Java,JavaScript,Limbo,LPC,Perl,PHP,Python, සහ Unix'sC shellවැනි බොහෝ පසු කාලීන පරිගණක භාෂාවන් C පරිගණක භාෂාවේ ආභාෂය සෘජුව හෝ වක්‍රව ලබා ඇත. මෙවැනි භාෂාවල (Python භාෂාවේ හැර) වැඩිපුරම දක්නට ලැබෙන C භාෂාවේ බලපෑම් වන්නේ ඒවාසරල ආකෘතීමයරීතීන් වශයෙන් පැවතීම (syntactical) සහ C භාෂාවේ පවතින හඳුනාගන්නා ලද ප්‍රකාශනයන් හා වගන්ති ආකෘතීන් (syntax of C), බොහෝ විට වෙනස් විය හැකි මූලික type පද්ධති, දත්ත ආකෘතීන් හා අර්ථවිචාර සමග සංයුක්ත කිරීමට නැඹුරු වීමයි.C++පරිගනක භාෂාව C භාෂාවේ පෙර සැකසුම් එකතුවක් වශයෙන් ආරම්භ වූ අතර වර්තමානය වන විට එය C භාෂාවේ මව් කුලකයක් (superset) ලෙස පවතී.
C භාෂාව සඳහා නිල ප්‍රමිතියක් තිබීමට ප්‍රථමඩෙනිස් රිචීසහබ්‍රයන් කර්නගෙන්විසින් රචිත අවිධිමත් පිරිවිතරක් මත බොහෝ භාවිතාකරන්නන් සහ ක්‍රියාවටනංවන්නන් විශ්වසය තබා තිබින. එම පිරිවිතර “K&R” C ලෙස හඳුන්වන ලදි. 1989 දීඇමරිකානු ජාතික ප්‍රමිති ආයතනයC භාෂාව සඳහා ප්‍රමිතියක් ප්‍රකාශයට පත් කල අතර එය “ANSI C” හෝ C89 ලෙස හැඳින්වේ. ඉනික්බිති වර්ෂයේදී එම පිරිවිතරම ප්‍රමිතිකරණය සඳහා වන ජාත්‍යන්තර ආයතනය (ISO) අන්තර්ජාතික ප්‍රමිතියක් ලෙස (ව්‍යවහාරයේදී C90) ප්‍රකාශයට පත් කරන ලදි. 1995 දී ISO ව විසින් පසුව එම ප්‍රමිතියේ අන්තර්ජාතික සහයෝගීතවය උදෙසා තවත් දිගුවක් නිකුත් කරන ලදි. මෙම ප්‍රමිතිය 1999 දී සංශෝධනය කරන ලදි (ව්‍යවහාරයේදී C99). වර්ථමානයේදී භාවිතා කරන්නේ 2011 දෙසැම්බරයේ සම්මත කරන ලද C11 නම් ප්‍රමිතියයි.
C යනුවිධානත්මක(පටිපාටිගත /procedural) භාෂාවකි. එය සැළසුම් කර ඇත්තේ එහි භාෂා පරිවර්තන කාර්යය සාපේක්ෂ වශයෙන් සරලව සිදුවීමටත්, පහළ මට්ටමේ (දෘඩාංග මට්ටමේ) පරිගණක මතක භාවිතයක් ලබාදීමටත්, කාර්යක්ෂමව වැඩසටහන් අන්තර්ගතයන් යාන්ත්‍රික භාෂාවේ උපදෙස් සමඟ ඈඳීමට හැකිවන පරිදිත් සහඅඩු ධාවන කාලයකින් වැඩසටහන් ක්‍රීයාත්මක වන පරිදිත් වේ. එහෙයින් C භාෂාව, පෙරාතුව assembly භාෂාවෙන් කේතනය කරන ලද පද්ධති වැඩසටහන් වැනි වැඩසටහන් සඳහා ප්‍රයෝජනවත් වේ.
දෘඩාංග මට්ටමේ වැඩසටහන්කරණ හැකියාවන් තිබියදීත් මෙම භාෂාව cross-platform වැඩසටහන්කරණය කිරීමට හැකිවන පරිදිද නිර්මාණය කර ඇත. ප්‍රමිතීන්ට අනුකූලව හාපද්ධතියෙන් පද්ධතියට ගෙනයාමේඅදහසින් ලියන ලද C වැඩසටහන් විවිධ වෙනස්කම් සහිත මූලික තලයන් (platform) හා මෙහෙයුම් පද්ධති ඉතා ඉහළ පරාසයක් සඳහා ප්‍රභව කේතයේ සුළු වෙනස්කම් සිදුකිරීම මඟින් පරිවර්තනය කල හැක. මෙම භාෂාව පරිපත තුල එබ්බවූක්ෂුද්‍ර පාලක(embedded microcontrollers) සිටසුපිරි පරිගණකදක්වා වූ ඉතා ඉහළ පරාසයක මූලික තලයන් (platform) රැසක් සඳහා භාවිතා කල හැකිය.
ALGOL සම්ප්‍රදායට අයිති බොහෝ විධානාත්මක භාෂා වල මෙන් C භාෂාවේද ස්තිථිකtype පද්ධතිබොහෝ අදහස් නොකරන ලද කාරකයන් වලක්වද්දීත් ව්‍යුහාතමක වැඩසටහන්කරණය සහlexical විචල්‍යය කාණ්ඩහා සහානුයාත (recursion) දැකිය හැක. C භාෂාවේදී සියලුම ක්‍රියාත්මක වන කේතයන් වෙන වෙනම හඳුන්වා දෙන ලද මාර්ග (subroutines) තුල පවතී. එම කොටස්  “කාර්යයන්”  (functions) ලෙස හඳුන්වන අතර ඒවා කෘත්‍යාත්මක වැඩසටහන්කරණයේ (functional programming) දැක්වෙන කාර්යයන් තරම් දැඩි අදහසක් නොදරයි. කාර්යයන් සඳහා වනපරාමිතීන්සෑමවිටම අගයන් මඟින් ලබාදීම සිදුකරයි. සමුද්දේශ භාවිතයෙන් වන පරාමිතික ලබාදීම් (pass­by­reference)සූචක(pointers) අගයන් භාවිතයෙන් සිදුකරයි.
C භාෂාව පහත දැක්වෙන ලක්ෂණ වලින් සමන්විත වේ.
C භාෂාව තුල පරිගණක වැඩසටහන්කරණයට අලුතින් එක් වූවස්තු මූලික වැඩසටහන්කරණසංකල්පයන් (OOP Concepts) වැනි නූතන ඉහල මට්ටමේ භාෂාවන් වල ඇති ගුණාංග සමහරක් අන්තර්ගත නොවේ.
C භාෂාවේ ආරම්භක ප්‍රවර්ධනයන් 1969 – 1973 අතර කාලයේ දී AT&T බෙල් පර්යේෂණාගරයේදී සිදුවිය. 1975 වර්ෂය මෙම ප්‍රවර්ධනයන්ගේ වඩාත්ම නිර්මාණශීලී අවධිය ලෙස රිචී විසින් හඳුන්වයි. මෙම භාෂාව C නමින් හැඳින්වූයේ එහි ගුණාංගBනම් වූ පෙර පැවති භාෂාවකින් සම්භවය ලබා ඇති නිසාවෙනි.කෙන් තොම්සන්ට අනූව නම් C භාෂාවBCPLපරිගණක භාෂාවේ ලඝු කොට තැනූ සංස්කරණයකි.
තම සගයන් කිහිප දෙනුකුගේද අදහස් මතPDP-7මත ක්‍රියාත්මක වූ assembly භාෂාවෙන් ලියන ලදUnixමෙහෙයුම් පද්දතියේ ප්‍රවර්ධනයන් සමඟ C භාෂාවේ සම්භවය තදින් බැඳී තිබිනි. අවස්ථානුකූලව ඔවුන් මෙහෙයුම් පද්ධතියPDP-11මතට ගෙන යන ලදි. මතකය බයිට් කොටස් වශයෙන් භාවිතා කිරීමට නොහැකි වීම වැනි PDP-11 හි පැවති සමහර වාසිසහගත ගුණාංග භාවිතා කිරීමට B භාෂාවට නොහැකි වූ බැවින් C භාෂාවේ මුල්ම සංස්කරණයන් ප්‍රවර්ධනය කිරීමට තීරණය කෙරින.
Unix මෙහෙයුම් පද්ධතියේ නියම PDP-11 සංස්කරණය assembly භාෂාව භාවිතයෙන් සිදු විය. 1973 දීstructවර්ගයන් C භාෂාවට එකතු වීමත් සමඟ Unix කර්නලය නැවත C භාෂාවෙන් ලිවීමට තරම් භාෂාව ප්‍රභල විය. මෙය ලොව මුල්ම assembly නොවූ පරිගණක භාෂාවක් භාවිතා කොට සකස් කරනු ලැබූ මෙහෙයුම් පද්ධති කර්නලය වේ.
1978 දීබ්‍රයන් කර්නගාන්සහඩෙනිස් රිචීදෙදෙනා විසින්The C Programming Languageනම් ග්‍රන්ථය මුල්ම සංස්කරණය ප්‍රකාශයට පත් කරන ලදි. පරිගණය වැඩසටහන්කරුවන් අතර K&R නමින් ප්‍රචලිත වූ මෙය බොහෝ කලක් යන තෙක්ම C භාෂාව සඳහා වූ අවිධිමත්පිරිවිතරක්ලෙස භාවිතා කර ඇත. මෙම ග්‍රන්ථයේ සඳහන් වන C සංස්කරණය K&R C ලෙස සාමන්‍ය ව්‍යවහාරයේ දී හැඳින්වේ. මෙහි දෙවන සංස්කරණයANSI Cප්‍රමිතීන් ආවරණය වන පරිදි රචනා කර ඇත.
1970 සහ 1980 අග භාගයන් වලදීmainframe පරිගණක,mini පරිගණකසහIBM PCද ඇතුළුක්ෂුද්‍ර පරිගණකසඳහා වූ ඉල්ලුම ඉහල ගිය අතර ඉහල පරාසයක වෙනස්කම් සහිත එම පරිගණක සඳහා ද C භාෂාවේ සංස්කරණයක් නිර්මාණය කරන ලදි.
1983 දී C සඳහා ප්‍රමිති පිරිවිතරක් පිහිටු වීමට X3J11 නමින් කමිටුවක්ඇමරිකානු ජාතික ප්‍රමිති ආයතනයවිසින් පත් කලේය. කමිටුව මඟින් Unix නිර්මිතයන් සඳහා භාවිතා කල C භාෂාව සඳහා ප්‍රමිතියක් නිර්මාණය කලේය . එසේ වුවත් Unix හි C පුස්ථකාලයේ අඩංගු විවිධ පද්ධතීන් සමඟ ඈඳිය නොහැකි කොටස 1003IEEEසේවා කාණ්ඩයට භාර දෙන ලදි. එහි අරමුණ වූයේ 1988 POSIX ප්‍රමිතීන් නිර්මාණය කිරීමයි. 1989 දී ANSI X3.159-1989 “C පරිගණක භාෂාව” නමින් C ප්‍රමිතිය ස්ථීර කරන ලදි. C භාෂාවේ මෙම සංස්කරණය ANSI C, ප්‍රමිතිකරණය කල C හෝ සාමන්‍ය ව්‍යවහාරයේ දී C89 ලෙසත් හඳුන්වයි.
1990 දී ANSI C ප්‍රමිතිය ආකෘතිමය වෙනස්කම් සහිතවඅන්තර්ජාතික ප්‍රමිති ආයතනයවිසින් ප්‍රමිතිකරණය සඳහා ලබා ගන්නා ලදි. එය ISO/IEC 9899:1990 නමින් (සාමන්‍ය ව්‍යවහාරයේ දී C90) ප්‍රමිතිකරණය කරන ලදි. එහෙයින් C89 හා C90 එකම පරිගණක භෂාවක් සඳහා භාවිතා වූ ප්‍රමිතීන් වේ.
ANSI/ISO ප්‍රමිතිකරණ ක්‍රියාවලියෙන් පසුව වසර ගණනාවක් C භාෂා පිරිවිතර සාපේක්ෂව ස්ථීර ලෙස පැවතුනි. 1995 දී ප්‍රමිතියේ පවතින සමහර කරුණු නිවැරදි කිරීමටත් ජාත්‍යන්තර අක්ෂර මාලාවට වැඩි දායකත්වයක් ලබා දීමටත් C90 සඳහා පළමු ප්‍රමාණික සංශෝධනය (Normative Amendment 1) සිදුවිය. එය තවදුරටත් 1990 අග භාගයේ දී සංශෝධනය වී ISO/IEC 9899:1999 ලෙස ප්‍රකාශයට පත් කරන ලදි. එම ප්‍රමිතිය සාමන්‍ය ව්‍යවහාරයේ දී "C99" ලෙස හැඳින්වේ. Technical Corrigenda මඟින් එය ද මේ වන විට තුන් වරක් නැවත සංශෝධනය වී ඇත.
2007 දී C භාෂාවේ තවත් සංස්කරණයක් සිදුකිරීම සඳහා කටයුතු ආරම්බ කෙරින. නිල වශයෙන් 2011-12-08 වනදා ප්‍රකාශයට පත් වීමට පෙර එය “C1X” ලෙස හැඳින්විය.  මෙහිදී C ප්‍රමිති කමිටුව දැනට පවත්නා නිර්මාණයන් තුල පරීක්ෂා කර නොමැති භාෂාවේ නව අංග භාවිතය සීමා කිරීමට කටයුතු කරන ලදි.
පොදු වර්ගයේ macros (type generic macros), නිර්නාමික ආකෘතීන්, වැඩි දියුණු කල යුනිකෝඩ් භාවිතය, අණුක කාර්යයන් (atomic operations), සමාන්තරව ක්‍රියාත්මක කල හැකි ගැලීම් (multi-threading) සහ සීමා පරීක්ෂක ශ්‍රිත (bounds ­ checked functions) වැනි නව අංග ගණනාවක් C11 ප්‍රමිතියේදී C භාෂාවට හා එහි පුස්ථකාලයට එක් විය. තවද එයC++පරිගණක භාෂාව සමඟ C භාෂාවේ ගැළපීමද වැඩි දියුණු කරන ලදි.
ඓතිහාසිකව, පරිපථ සඳහා වූ C වැඩසටහන්කරණය, ස්ථීර-ලක්ෂ්‍ය ගණිතය (fixed ­ point arithmetic), ප්‍රභින්න මතක ගබඩා එකකට වැඩි ගණනක් භාවිතය සහ මූලික ආදාන ප්‍රතිදාන කාර්යයන් වැනි ලක්ෂණ ලබා දීමට ප්‍රමිතිකරණය නොකල දිගු භාවිතා කරන ලදි.
2008 දී C ප්‍රමිති කමිටුව, C භාෂාව වර්ධනය කරමින් තාක්ෂණික වාර්ථාවක් පළ කල අතර එමඟින් මෙම ගැටළු වලට විසඳුම් ලෙස සියළුම නිර්මාණයන් පිළිපැදිය යුතු පොදු ප්‍රමිතියක් හඳුන්වා දෙනු ලැබුවේය.එහි ස්ථීර-ලක්ෂ්‍ය ගණිතය (fixed ­ point arithmetic), නාමික මතක අවකාශ සහ මූලික ආදාන ප්‍රතිදාන දෘඩංග භාවිතය වැනි සාමන්‍ය C භාෂාවේ නොමැති ලක්ෂණ ගණනාවක් අන්තර්ගත වේ.
C භාෂාවේ කේතයන්හි භාවිතා වන අක්ෂර මාලාවට පහත අක්ෂර ඇතුළත් වේ.
නව පේළියකට යොමු කිරීමේ අක්ෂරය අක්ෂර පේළියක අවසානය දක්වයි; එය තනි අක්ෂරයක් ම වීම අවශ්‍යය නොමැති අතර එකකට වැඩි අවස්ථා වලදී ඒ සියල්ලම C භාෂාව එකක් ලෙස සළකයි.
අමතර බහු-බයිට් කේතාංකනය කරන ලද අක්ෂර භාවිතා කල හැකි වුවත් විවිධ පද්ධතීන් සමඟ භාවිතා කිරීමේදී ගැටළු මතු විය හැක. මෑතකදී ප්‍රකාශයට පති කරන ලද C11 ප්‍රමිතිය මඟින් බහු ජාතිකයුනිකේතඅක්ෂර භාවිතයට අවසර දී ඇති නමුත්\uDDDDකේතාංකනය (DDDDමඟින් යුනිකේත අක්ෂර සඳහා පොදු භාවිතය දක්වයි උදා: \u4025) භාවිතයෙන් C කේතය පද්ධති අතර පහසුවෙන් භාවිතා කල හැකි පරිදි ලිවිය යුතුය. මෙම අංගය පුළුල්ව නිර්මාණය කර නැත.
මූලික C ක්‍රියාත්මක කරවීමේ අක්ෂර මාලාවේ දීalert,backspaseහාcarriage returnසඳහා නිරූපණ අක්ෂර සමඟ C භාෂාවේ භාවිතා කල අක්ෂර ම භාවිතා වේ.
C89 ප්‍රමිතියේ මුලපද (වෙන්කල විශේෂිත තේරුම් සහිත වචන) 32 ඇත.
C99 ප්‍රමිතියේ දී තවත් මුල පද 5 එකතු විය.
C11 ප්‍රමිතියේ දී තවත් මුල පද 7 එකතු විය.
බොහෝමයක් අලුතින් එක් වූ මුලපද underscore සළකුණකට පසුව වූ ඉංග්‍රීසි කැපිටල් අක්ෂරයකින් පසුව ආරම්භ වේ. එයට හේතුව නම් එම ආකෘතීන් සහිත මුල පද කලින් භාෂාවේ නිර්මාණයන් සඳහා C ප්‍රමිති මඟින් වෙන්කර තිබීමයි. මේවා පවතින වැඩසටහනේ ප්‍රභව කේතයන්හි භාවිතා කිරීම කල නොහැකිව තිබූ නිසාම C භාෂා නිර්මාණයන් මඟින් වැඩසටහන්කරණ භාෂාවට මෙම දිගු වල සහභාගීත්වය ලබාදීම ආරම්භ කරන තුරු එමඟින් කිසිඳු බලපෑමක් නොවීය. සමහර සම්මත ශීර්ෂ (headers) මෙවැනි underscore සළකුණු සහිත පද සඳහා සුදුසු තුල්‍ය අර්ථදැක්වීම් (define) සිදුකරයි.
C භාෂාව සතුව පොහොසත් කාරකයන් සමූහයක් පවතී. ඒවා සමහරක් ප්‍රකාශනයක් ක්‍රියාත්මක වීමේදී කුමන ආකාරයෙන් සංචාලන සිදුවිය යුතුද යන්නද නියම වශයෙන් සඳහන් කරයි. C භාෂාවේ කාරකයන් පහත පරිදි වේ.
ගණිතයේ දී මෙන් නොව C භාෂාවේ දී=කාරකය සමානතාවය දැක්වීම වෙනුවට ආදේශ කිරීම සඳහා යොදා ගනී. එය Fortran සහ PL/I භාෂා වල පූර්වාදර්ශයෙන් ලබා ගෙන ඇත. සමානතාවය දැක්වීමට==භාවිතා වේ. එසේ වුවද මෙම කාරකයන් දෙක පටලවා භාවිතා කරන සමහර අවස්තා වලදී C භාෂා පරිවර්ථකය මඟින් කිසිඳු දෝෂ පණිවිඩයක් ලබා නොදෙයි. උදාහරණයක් ලෙසif(a=b+1)යන ප්‍රකාශනයේදීaහි අගය බින්දුවට වඩා විශාලව පවතින තාක්ifසඳහා සත්‍යය යන අගය ලැබේ.අමතර වශයෙන් C භාෂාවේකාරක ප්‍රමුඛතාවයසහජ ඥානය සහිත නොවූවක් වන අතර==සළකුණ&සහ|සළකුණු වලට වඩා තදින් ප්‍රකාශන වලට බැඳී පවතී. එනම්x & 1 == 0යන්න නිවැරදිව ක්‍රියාත්මක වීමට නම් එය(x & 1) == 0පරිදි ලිවිය යුතු වේ.
K&Rග්‍රන්ථයේ මුල්ම සංස්කරණයේ සඳහන්"hello, world"උදාහරණය සෑම පරිගණක භාෂාවකම පාහේ මූලික අරම්බක වැඩසටහන් ආකෘතිය ලෙස භාවිතා කෙරින. මෙහිදී වැඩසටහන මඟින් "hello, world" යන්නපරිගණක තිරයමත දිස්වීම පමණක් සිදුවේ.
මුල්ම සංස්කරණය:
ප්‍රමිතිකරණය මඟින් තහවුරු කරන ලද "hello, world" වැඩසටහන:
මෙහි පළමුවෙන්ම සඳහන් වන#includeපෙර සැකසුමෙන් සිදුකරන්නේ එම පේළියstdio.hනම් ශීර්ෂ ගොනුවෙන් ප්‍රතිස්ථාපනය කිරීමයි. එය භාෂා පරිවර්ථකය මඟින් සිදුකරන කාර්යයකි.stdio.hශීර්ෂ ගොනුවේprintfවැනි මූලික ආදාන ප්‍රතිදාන වලට සම්බන්ඳ කාර්යයන් අර්ථදක්වා ඇත. කෝණික වරහන් මඟින් දැක්වෙන්නේ මෙම ශීර්ෂ ගොනුව සම්මත C ශීර්ෂයන් තිබෙන ස්ථානයේ පවතිනවා යන්නයි. අපගේ වැඩසටහන් පවතින ෆෝල්ඩරයේ පවතින ශීර්ෂ ගොනුවක් මෙලෙස වැඩසටහනට ලබා ගැනීමට උදෘත පාඨ සළකුණු තුල එය ලිවිය යුතුය.
ඉන් පසුව දැක්වෙනmainනම් වදනින් දැක්වෙන්නේ වැඩසටහනේ ප්‍රධාන කාර්යයේ අර්ථ දැක්වීමයි. වැඩසටහනක ප්‍රධාන කාර්යයට විශේෂ වටිනාකමක් ඇති අතර සෑම විටම වැඩසටහන ක්‍රියාත්මක වීම ආරම්භ කරන්නේ මෙම  ප්‍රධාන කාර්යයෙන් වේ. එහි වරහන් මඟින් ප්‍රධාන කාර්යයට ලබා දෙන පරාමිතීන් නිරූපණය කරන අතර එම පරාමිතීන් වැඩසටහන ක්‍රියාත්මක කරන අවස්ථාවේ දී ලබාදේ. මෙම වැඩසටහනේvoidලෙස දැක්වෙන්නේ එලෙස භාහිරින් පරාමිතීන් වැඩසටහන තුළට ලබා නොගන්නා බවයි.
ආරම්භක සඟල වරහන ප්‍රධාන කාර්යයේ ආරභය දක්වයි.
﻿ඊළඟ පේළියේ දැක්වෙන්නේprintfකාර්යය ක්‍රියාත්මක කරවීමයි. එහිදී එම කාර්යයට“hello, world\n”යනුවෙන් අක්ෂරමය පරාමිතික අගයක් ලබා දී ඇති අතර\nයනු පැනයාමේ සළකුණ (escape sequence) වේ. භාෂා පරිවර්ථන කර්යයේ දී එය නව පේලීයක් ලබා ගැනීමට භාවිතා කරන සළකුණ (new line character) බවට වෙනස් කරයි.printfයනු ලබා දිය හැකි පරාමිතීන් ගණන සීමා කර නොමැති කාර්යයක් වේ. එයprintkයන පද්ධති කාර්යය (system call) භාවිතයෙන් සම්මත ප්‍රතිදානය වන පරිගණක තිරය මතට උදෘත ලකුණු අතර ඇති අක්ෂර ඛණ්ඩය ලබා දේ. අවසන ඇති තිත් කොමාව මඟින් එම වගන්තියේ අවසානය දක්වයි.
අවසානයේ ඇති සඟල වරහන මඟින් ප්‍රධාන කර්යයේ අවසානය දක්වයි. මෙහිදී නම් එය මුළු වැඩසටහනේ ම අවසානය වේ. සාර්ථකව ධාවනය වී අවසන් වූ වැඩසටහනක් මඟින් මෙහෙයුම් පද්ධතියට ශුන්‍යය (0) නිකුත් කරන අතර එය වැඩසටහනේ නික්මයාමේ තත්වය (exit code) වේ.
සැකිල්ල:Integrated development environments for C and C++සැකිල්ල:CProLang