C Pointers
pointer එක ගැන අදහසක් ගන්න කලින් අපි බලමු - declare කරන variable කොහෙද ගබඩා වෙන්නේ කියල.
Memory
byte ගනනාවක් එකතුවෙලා හැදිලා තියෙන ram එක.
Memory block
දත්ත ගබඩා කිරීම සඳහා භාවිතා කරන්න අවශ්ය කරන ඉඩ ප්රමාණය , මේ ඉඩ ප්රමාණය byte එකක් එහෙමත් නැත්නම් bit 8ක ප්රමානයයක් වෙන් වෙනවා. ram එකේ සයිස් එක වැඩි වෙන්න වෙන්න එකේ තියෙන memory block ප්රමාණයත් වැඩි වෙනවා.
4MB ඉඩ ප්රමාණයක තියෙන blocks ගණන පහත ආකාරයට ගණනය කරන්න පුළුවන්.
4MB = 4*1024KB
4MB = 4*1024*1024Byte =4MB = 4194304 Byte
4MB ram එකක blocks 4194304 ක් තියෙනවා.
- char - 1 byte - block 1
- integer -4byte - block 4
- double - 8 byte - block 8
Memory address
දත්ත ගබඩා කිරීම සඳහා භාවිතා කර memory block එකේ ආරම්භක ස්ථානයට ලැබිලා තියෙන අගය.
අපි පොඩි උදාහරණයක් මගින් මේ තුන පැහැදිලි කරගෙන ඉමු. පැහැදිලි කරන්න ලේසි වෙන විදිහට 8 byte ram එකක් ගන්නම්කො. ( ඇත්තම ඒවගේ ප්රමාණය මිට වඩා හුගාක් විශාල වෙනවා 4GB, 8GB, 16GB )
pointer එකක් භාවිතා කරලා memory address එක ගද්දි, එය 16 පාදය සංඛ්යාවලින් නිරූපණය වෙනවා
අපි උදාහරණයක් විදිහට මේ code එක run කරලා බලමු
int Age = 23; // මෙමරි එකේ age කියල intiger type data එකක් සේව් කරනවා
printf("%d ", Age); // සේව් කරගත්ත වැලිව් එක ප්රින්ට් කරලා බලනව
printf("%p", &Age); // මේකෙන් බලාගන්න පුළුවන් age කියන එක කොහෙද තියෙන්නේ කියල
printf("%d", &Age); // මේකෙන් බලාගන්න පුළුවන් age කියන එක කොහෙද තියෙන්නේ
Comments
Post a Comment