variable එකක් declare කිරීම මගින් අපට හැකි වෙනව අපේ program එකට අලුතින් දේවල් එකතු කරගන්න. නමුත් මෙම variable එකක් declare කිරීමේදී අපට යම් ගැටළු ඇතිවන්න පුලුවන්. උදාහරනයක් විදිහට, නිවැරදිව variable එක declare කරන්නේ නැතිව එය බාවිතා කරොත් මේ වගේ error එකක් compiler එක මගින් දැනුම් දෙනව.
error: 'x' was not declared in this scope
මම මේ උදාහරනය ගත්තේ Code::Blocks වලින් සමහර විට වෙනත් compiler වල මේක වෙනස් වෙන්න පුළුවන්.
ඊලඟට අපිට පුළුවන් එකම type එකේ variables කීපයක් බාවිතා කරන්න නමුත් කිසිසේත්ම අපිට බෑ එකම variable එක types කීපයක බාවිතා කරන්න. උදා - val1 කියන variable එක double සහ int කියන types දෙකටම යොදා ගැනීමේ හැකියාවක් නෑ. එහෙම කලොත් මේ වගේ errors මතු වෙන්න පුළුවන්.
error:conflicting declaration 'double val1'
error:'val1' has a previous declaration as `int val1'
error:declaration of `double val1'
error:conflicts with previous declaration `int val1'
ඊලඟට ඇතිවන තවත් ගැටළුවක් තමයි semi-colon එක දාන්න අමතක කරන එක.
int x // මේක වැරදියි.
මෙවැනි අවස්තාවක විවිද error messages අපිට දකින්න පුළුවන්.
අවසාන වෂයෙන් code එක compilation වන අවස්තාවේ වැරැද්දක් ලෙස නොපෙන්වුවත්, variable එකකට value එකක් initialize නොකීරීම program එක ක්රියාත්මක වන අවස්තාවේ ප්රතිඵලය වෙනස් වෙන්න බලපාන්න පුලුවන්. එමනිසා අපි variable එකක් declare කරන සෑම අවස්තාවකම ඒ variable එක බාවිතා කරන්න කලින් එකට value එකක් initialize කරන්න මතක තියාගන්න ඔනේ. උදා -
int x;
int y;
y = 5;
x = x + y;
මෙහි y ට 5 කියල අගයක් ලබා දී තිබුනත් x ට මුලින් අගයක් ලබාදී නෑ. මෙහිදී program එක run වන අවස්තිවේදී කුමක් හෝ අගයක් x ට ආදේශ කරගැනීමක් සිද්දවෙනව එම නිසා result එක අපිට හිතාගන්නවත් බැරි විදිහේ එකක් වෙන්න පුළුවන්.
Case sensitivity
මේක කියන්න අමතකම වුනානේ අනේ. case sensitivity කියන්නේ C++ වලදී ගොඩක් අවදානය යොමු කරන්න ඔන දෙයක්. "X සහ x" බැලූ බැල්මට එකවගේ පෙනුනට ඒක එහෙම නෑ එකෙක් තාරාවෙක් අනික පාත්තයෙක්. නෑ නෑ එහෙම නෙමේ C++ වලදී uppercase සහ lowercase පිලිබඳ වඩා සැලකිලිමත් වෙන්න ඔනෙ මොකද C++ වල සෑම language keyword එකක්ම, සෑම function එකක්ම සහ සෑම variable එකක්ම case sensitive කියන නීතියට යටත් වෙනව. උදා - අපි variable එකක් declare කිරීමේදී "X" ලෙස ලබාදීල එම variable එක බාවිතා කරන විට "x" ලෙස ලබා දුනනොත්, නිවැරදිව compiler වෙන්නේ නෑ මේ වගේ error එකක් එනව "error: 'x' was not declared in this scope".
variables නම් කිරීම.
variable එකක් declare කිරීමේදී එම variable එකට තේරුමක් ඇති සහ variable එක විස්තර වෙන විදිහේ නමක් බාවිතා කිරීම ඉතා වැදගත්. මොකද මේ වගේ නම් යොදා ගත්තොත් අපි ලෝක අමාරුවක වැටෙනව. උදා -
val1 = val2 * val3;
මොකද්ද මේකෙ තේරුම? කාටවත් කියන්න බෑ. ඔයා code එකක් ලියාගෙන යනකොට ඔයා හිතනව ඔයාට මේක මතක තියෙයි කියල. නමුත් ඔයා ඊලඟ දවසේ code එක බලනකොට ඔයාට හිතාගන්න බෑ මෙකෙන් මොකද්ද වෙන්නේ කියල. ඒ නිසා හොඳම දේ තමයි හැම විටම variable එක විස්තර වෙන විදිහට නමක් යොදා ගන්න. ඒක ඔයාට ගොඩක්ම පහසු වෙයි වැරදි හඳුනා ගැනීමේදී. උදා -
area = width * height;
අදනම් පාඩම චුට්ටයි වගේද මන්ද ටිකක් හදිස්සියෙන් ලියල දැම්මේ. කමක් නෑ නේද චුට්ට චුට්ට හරි ඉක්මනින් දාන්නම්කෝ. අමතක නොකර පාඩම් මාලාව ගැන අදහසක් දාල යන්න. ඔයාගේ අදහස් ගොඩක් වටිනව මේක දිගටම කරගන යන්න.
error: 'x' was not declared in this scope
මම මේ උදාහරනය ගත්තේ Code::Blocks වලින් සමහර විට වෙනත් compiler වල මේක වෙනස් වෙන්න පුළුවන්.
ඊලඟට අපිට පුළුවන් එකම type එකේ variables කීපයක් බාවිතා කරන්න නමුත් කිසිසේත්ම අපිට බෑ එකම variable එක types කීපයක බාවිතා කරන්න. උදා - val1 කියන variable එක double සහ int කියන types දෙකටම යොදා ගැනීමේ හැකියාවක් නෑ. එහෙම කලොත් මේ වගේ errors මතු වෙන්න පුළුවන්.
error:conflicting declaration 'double val1'
error:'val1' has a previous declaration as `int val1'
error:declaration of `double val1'
error:conflicts with previous declaration `int val1'
ඊලඟට ඇතිවන තවත් ගැටළුවක් තමයි semi-colon එක දාන්න අමතක කරන එක.
int x // මේක වැරදියි.
මෙවැනි අවස්තාවක විවිද error messages අපිට දකින්න පුළුවන්.
අවසාන වෂයෙන් code එක compilation වන අවස්තාවේ වැරැද්දක් ලෙස නොපෙන්වුවත්, variable එකකට value එකක් initialize නොකීරීම program එක ක්රියාත්මක වන අවස්තාවේ ප්රතිඵලය වෙනස් වෙන්න බලපාන්න පුලුවන්. එමනිසා අපි variable එකක් declare කරන සෑම අවස්තාවකම ඒ variable එක බාවිතා කරන්න කලින් එකට value එකක් initialize කරන්න මතක තියාගන්න ඔනේ. උදා -
int x;
int y;
y = 5;
x = x + y;
මෙහි y ට 5 කියල අගයක් ලබා දී තිබුනත් x ට මුලින් අගයක් ලබාදී නෑ. මෙහිදී program එක run වන අවස්තිවේදී කුමක් හෝ අගයක් x ට ආදේශ කරගැනීමක් සිද්දවෙනව එම නිසා result එක අපිට හිතාගන්නවත් බැරි විදිහේ එකක් වෙන්න පුළුවන්.
Case sensitivity
මේක කියන්න අමතකම වුනානේ අනේ. case sensitivity කියන්නේ C++ වලදී ගොඩක් අවදානය යොමු කරන්න ඔන දෙයක්. "X සහ x" බැලූ බැල්මට එකවගේ පෙනුනට ඒක එහෙම නෑ එකෙක් තාරාවෙක් අනික පාත්තයෙක්. නෑ නෑ එහෙම නෙමේ C++ වලදී uppercase සහ lowercase පිලිබඳ වඩා සැලකිලිමත් වෙන්න ඔනෙ මොකද C++ වල සෑම language keyword එකක්ම, සෑම function එකක්ම සහ සෑම variable එකක්ම case sensitive කියන නීතියට යටත් වෙනව. උදා - අපි variable එකක් declare කිරීමේදී "X" ලෙස ලබාදීල එම variable එක බාවිතා කරන විට "x" ලෙස ලබා දුනනොත්, නිවැරදිව compiler වෙන්නේ නෑ මේ වගේ error එකක් එනව "error: 'x' was not declared in this scope".
variables නම් කිරීම.
variable එකක් declare කිරීමේදී එම variable එකට තේරුමක් ඇති සහ variable එක විස්තර වෙන විදිහේ නමක් බාවිතා කිරීම ඉතා වැදගත්. මොකද මේ වගේ නම් යොදා ගත්තොත් අපි ලෝක අමාරුවක වැටෙනව. උදා -
val1 = val2 * val3;
මොකද්ද මේකෙ තේරුම? කාටවත් කියන්න බෑ. ඔයා code එකක් ලියාගෙන යනකොට ඔයා හිතනව ඔයාට මේක මතක තියෙයි කියල. නමුත් ඔයා ඊලඟ දවසේ code එක බලනකොට ඔයාට හිතාගන්න බෑ මෙකෙන් මොකද්ද වෙන්නේ කියල. ඒ නිසා හොඳම දේ තමයි හැම විටම variable එක විස්තර වෙන විදිහට නමක් යොදා ගන්න. ඒක ඔයාට ගොඩක්ම පහසු වෙයි වැරදි හඳුනා ගැනීමේදී. උදා -
area = width * height;
අදනම් පාඩම චුට්ටයි වගේද මන්ද ටිකක් හදිස්සියෙන් ලියල දැම්මේ. කමක් නෑ නේද චුට්ට චුට්ට හරි ඉක්මනින් දාන්නම්කෝ. අමතක නොකර පාඩම් මාලාව ගැන අදහසක් දාල යන්න. ඔයාගේ අදහස් ගොඩක් වටිනව මේක දිගටම කරගන යන්න.
බැලුවද?
Comment එකකුත් දාගෙනම යමු නේ.....
ConversionConversion EmoticonEmoticon