C Pointer - Malayalam Introduction

#Introduction C പോയിന്റർ : C Pointer – Malayalam

C Pointer - Malayalam Introduction

C Pointer – Malayalam Introduction

പോയിന്റർ ഒരു  മെമ്മറി ലൊക്കേഷനാണ്. നമ്മൾ int k എന്ന്  ഡിക്ലർ ചെയ്യൂമ്പോൾ കംബയിലർ സിംബൽ ടേബിളിൽ  k എന്ന വേരിയബിളിനായി  ഉണ്ടാക്കിയ ഒരു മെമ്മറി ലോക്കേഷന്റെ അഡ്രസ്സ് സ്റ്റൊർ ചെയ്യപ്പെടുന്നു.

int k;            // Create a memory location 0X0011

                     // Sample symbol Table

SYMBOL TABLE
Name Memory Location
k 0x0011x1

print k;      // get the memory location corresponding to ‘k’ and then print the value in that location.

പ്രിന്റ് ചെയ്യാനായി k വേരിയബിളിന് അനുവദിച്ച് മെമ്മറി ലോക്കേഷൻ  എടുത്ത് അതിന്റെ വാല്യൂ  പ്രിന്റ് അകുകയും ചെയ്യുന്നു.

int f;  എന്ന്  ഡിക്ലയർ ചെയ്യുമ്പോൾ ഇന്റൽ പ്രൊസ്സസറുകളിൽ സാധാരണയായി 4 ബയിറ്റ്  വഹിക്കുന്നുണ്ട്. (int is 4 bytes wide)

int *f_ptr;                                         Single pointer declaration.

int* f_ptr, a_ptr, b_ptr;              Multiple Pointer declaration.

ശ്രദ്ധിക്കുക : ‘*’  symbol is right and left respectively.

int f = ‘abel’;

int *f_ptr = &f;

*f_ptr ഒരു ഇന്റിജർ പോയിന്ററായി ഡിക്ലയർ ചെയ്തിരിക്കുന്നു.

‘f’ എന്ന വേരിയബിളിനെ പോയിന്റ് ചെയ്യുവാ‍ൻ ആവശ്യപ്പെട്ടിരിക്കുന്നു.

* എന്നത് value വിനെയൂം   & മെമ്മറി location നെയും സൂചിപ്പിക്കുന്നു.

f  ‘ കുറച്ച് മെമ്മറി ലോക്കേഷൻ ഉപയോഗിക്കുന്നു. ആ ലൊക്കേഷനേ  ‘ f  ‘  ന്റെ അഡ്രസ്സ് എന്ന പറയുന്നു. So &f is the address of ‘ f ‘.

& = ‘ address of operator’ എന്നാണ് അറിയപ്പെടുന്നത്.

ഒരു കുറുക്ക് വഴി :

 int f = ‘abel’;      // value = abel;

&f                         // address of  ‘ f ‘.

*f_ptr                // just a pointer.

*f_ptr = & f       // f is a pointee, pointed by *f_ptr.

*f_ptr                // now holds the address of  ‘ f  ‘.

f_ptr               // value of ‘ f ‘ ie, ‘abel’.

&f_ptr           // address of f_ptr.

So *f_ptr = &f. They holds the same values.

ഒരു പോയിന്ററിന് ഒറ്റക്ക് നിലനിൽ‌പ്പില്ല അവ് എതെങ്കിലും ഒരു മെമ്മറിയേ പോയിന്റ് ചെയ്യണം. ടൈയിപ്പ് വെത്യാസമില്ലതെ പോയിന്റർ ഉപയോഗിക്കാം. ഉദാ. char, double..