Skip to main content

Posts

  Pointer භාවිතයෙ වැදගත් අවස්ථා   කලින් පාඩම් වලට අදාල ප්‍රශ්න දෙකක් Q 1     dynamic memory allocation භාවිතා කිරීමට හේතුව   හා ඊට අදාළ function? Q 2     reference & ඔපරේටර් එක භාවිතා කිරීමට හේතුව  භාවිතා කරන මූලික අවස්ථා call by reference  dynamic memory allocation  accessing file call by reference  මේක තේරුම් ගන්න නම් පහත උදාහරණ දෙක   හොඳින් බලන්න බලන්න. අගයන් දෙකක් මාරු කර ගැනීම function  එකක් ලිවීම් Call by value      void swap (int a, int b)  //  {      int c;  //       c=a;      a=b;      b=c; } අදාල code එක : #include <stdio.h> int main() { int x,y; x=8; y=80; printf(" \n value of x = %d and y = %d", x,y); swap(x,y); printf("\n after swap "); printf(" \n value of x = %d and y = %d", x,y); return 0; } void swap (int a, int b) { int c; c=a; a=b; b=c; } මෙහිදී අගයන් මාරු වෙන්නේ අදාල ෆන්ෂන් එක තුළ පමණි. Main function එක තුල කිසිවක් වෙනස් වී නොමැත. ඊට හේතුව නම් main function එක තුළ පවතින variable වෙනත්
Recent posts

Modern Physics

    අතීතයෙන් වර්තමානය දකිමු Q 1   ඔබ දැකලා තියෙන පරණම    සිද්ධිය  මතකද? Q 2   එය කොපමණ පැරණි සිදුවීමක් ද? Q 3   වර්තමානය විදිහට අපි දකින සිදුවීම් සියල්ලම -වර්තමානයෙහි සිදු උන සිදුවීම් ද?  එළියට ගිහිල්ලා අහස දිහා බලන්න,  ඔයා දවල් වෙලාවක  අහස බැලුවොත් ඔයාට හඳ ඒ වගේම ඉර වලාකුළු වගේ දේවල් බලාගන්න පුළුවන්, සමහර විට අහසේ පියාඹන කුරුල්ලෝ ඉන්නත් පුළුවන්, මීට අමතරව ප්ලේන් එකක්  වගේම     අහසේ  පියාසර කරන  කරන යම් යම් දේවල් බලාගන්න පුළුවන් වේවි.    ඇත්තටම ඔබ  මේ දකින කිසිම දෙයක් මේ වෙලාවේ එහෙම නෑ .   එතකොට ඔයා දකින මේ සියල්ල මායාවක්ද ?    ඔව් ඔයාට කිසිම වෙලාවක මේ මොහොතේ මේ විශ්වය දකින්න බෑ. ඔයා දකින දේ ඉතා කුඩා කාලයක් හෝ තප්පර කිහිපයක අතීතයක් වෙන්න පුළුවන්, සමහරවිට ඒක වසර මිලියන ගණනක් පැරණි සිදුවීමක් වෙන්නත් පුළුවන්.        ඔයා රෑ වෙලාවක අහස බැලුවොත්  වසර මිලියන ගණනක අතීතය  දකින්න පුළුවන්. සමහරවිට    මීට වසර කිහිපයකට පෙර මිය ගිය තරුවක් උනත් දැකගන්න පුළුවන්, ඔය දකින ග්‍රහලෝක සහ ඒවායේ චන්ද්‍රයන්, වල්ගා තරු, ග්‍රහක උල්කාපාත, නිහාරිකාව සහ තරු පොකුරු කිසිම එකක් මේ මොහොතේ ඇත්තටම නෑ .. දවල් වෙලවක්නම්

C language

Ram එක වැඩ කරන විදිහ     Q 1 කලින් pointer ගැන කතා කරපු නිසා මං ඔයාලගෙන් ප්‍රශ්න 2 ක් අහන්නම්   පොයින්ට් එකක වැදගත්කම මොකක්ද ?    Stack  හා   Heap memory   එකේ වෙනස ?  අද අපි කතාකරන ප්‍රධාන මතෘකා    Ram  එකේ ප්‍රධන කොටස් 3 ( ප්‍රොග්‍රැම් එක රන් වෙන වෙලාවට)   Memory allocation (static vs dynamic)  Code section   Stack, stack frame Heap        programe    එකක් වැඩ කරන විදිහ තේරුම් ගන්න ඕන නිසා   Ram  එකේ ප්‍රධන කොටස් 3 1.      Code section- program එකට අදාල machine code එක memory එකේ ගබඩා වෙන තැන 2.      Stack- static වෙරියබල් සහ අනිත් function වලට අදාල variable ගබඩා වෙන තැන   3.      Heap- dynamic වේරියබල් ගබඩා වෙන තැන Memory allocation     Variable ගබඩා කිරීමට අවශ්‍ය ඉඩ ලබාදීම ප්‍රධාන ආකාර දෙකකට සිදු කරනවා Static memory allocation D ynamic memory allocation   Static memory allocation int a=12; char b=x; int age= 23; char initial[2]; variable එකට ලැබෙන ඉඩ ප්‍රමාණය නිශ්චිතයි char initial[2];   එකට ලැබ

C language

How to use a pointer pointer එක භාවිතා කරන ආකාරය                                           int myAge = 23; - අපිට ඕනේ  කරනවා myAge variable එකේ address එක හොයාගන්න. දැනටමත් අපි දන්නවා "&" operate එක භාවිතා කරල ඒක බලාගන්න පුළුවන් කියලා. පහල දාලා තියනවා ඒකට අදාල code එක.                                             printf(" address of myage     %p\n", &myAge); pointer එකක් භාවිතයෙන් variable  එකක address එක ගබඩා කර ගැනීම                                    int myAge = 23;  -  මේ variable එකේ නම myAge ,    data type එක intiger                                         int myAge = 23;- මේ variable එකේ address එක පොයින්ට් එකක් භාවිතයෙන් save කරගමු මේ සඳහා අපි pointer variable එකක් declare කරගන්න ඕනේ. pointer variable එකක් declare කරගන්නා ආකාරය                                        int* ptr = &myAge;                                    int* ptr = &myAge;                                 01   int* ptr = &myAge;  address එක ලබාගැනීමට අවශ්‍ය කරන variable එකේ d

C language

               C  Pointers