Sunday, January 23, 2022

புதியவர்களுக்கு சி மொழியில் பாயிண்டர்கள்.

 


 

சி மொழியில் பாயிண்டர்கள் மற்றொரு வேரியபிளின் முகவரியை சேமிக்க உதவுகின்றது.வேரியபிள் ஆனது int, char, array, function அல்லது மற்றொரு பாயிண்டர் என எது வேண்டுமானாலும் இருக்கலாம்.

int n = 10;   

 int* p = &n; // Variable p of type pointer is pointing to the address of the variable n of type integer.

மேலே உள்ள சான்று நிரலில் இன்ட் டைப் பாயிண்டர்  p ஆனது n எனப்படும் இண்ட் டைப் வேரியபிளின் நிணைவக முகவரியை சேமிக்கின்றது.

பாயிண்டர் அறிவித்தல்.

 

சி மொழியில் பாயிண்டர் வேரியபிள் ஆனது * சிம்பள் உடன் அறிவிக்கப்படுகின்றது. இது பாயிண்டரை டிரெஃபெரென்ஸ் செய்ய உதவும் இண்டைரக்சன் பாயிண்டர் எனவும் அறிவிக்கப்படுகின்றது.

int *a;//pointer to int  

char *c;//pointer to char



 

மேலே உள்ள படத்தில் நம்பர் வேரியபிளின் முகவரியான fff4 ஆனது p எனப்படும் பாயிண்டர் வேரியபிளில் சேமிக்கப்படுகின்றது. ஆனால் p எனப்படும் பாயிண்டர் வேரியபிளின் முகவரி aaa3 ஆகும்.

பாயிண்டர் வேரியபிளின் மதிப்பை இண்டைரக்சன் ஆபரேட்டர் உதவியுடன் பிரிண்ட் செய்யலாம்.

பாயிண்டர் சான்று நிரல்.

கீழே உள்ள சான்று நிரலில் பாயிண்டர் மூலம் ஒரு வேரியபிளின் முகவரி மற்றும் அதன் மதிப்பை எவ்வாறு பிரிண்ட் செய்வது என்று பார்ப்போம்.

#include<stdio.h>  

int main(){  

int number=50;    

int *p;      

p=&number;//stores the address of number variable    

printf("Address of p variable is %x \n",p); // p contains the address of the number therefore printing p gives the address of number.     

printf("Value of p variable is %d \n",*p); // As we know that * is used to dereference a pointer therefore if we print *p, we will get the value stored at the address contained by p.    

return 0;  

}    

 

வெளியீடு:

Address of p variable is fff4

Value of p variable is 50

பாயிண்டர் டு அர்ரே.

int arr[10];  

int *p[10]=&arr; // Variable p of type pointer is pointing to the address of an integer array arr.  

பாயிண்டர் டு ஃபங்க்சன்.

1.    void show (int);  

2.    void(*p)(int) = &display; // Pointer p is pointing to the address of a function  

பாயிண்டர் டு ஸ்டர்க்சர்.

1.    struct st {  

2.        int i;  

3.        float f;  

4.    }ref;  

5.    struct st *p = &ref;  



 

பாயிண்டரின் நண்மைகள்.

 

1.      பாயிண்டர் ஆனது நிரல் வரிகளின் எண்ணிக்கையை குறைக்கின்றது.செயல்படும் தன்மையை அதிகரிக்கின்றது.

2.      String, tree ஆகியவற்றின் மதிப்பை பெற உதவுகின்றது. அர்ரே, ஃபங்க்சன், ஸ்ட்ரக்சர் எல்லாவற்றுடனும் பயன்படுகின்றது.

3.      பாயிண்டர் உதவியுடன் ஒரு ஃபங்க்சனில் இருந்து ஒன்றுக்கும் மேற்பட்ட மதிப்பை ரிடர்ன் செய்யலாம்.

4.      எந்த ஒரு மெமரி லொகேசனையும் அனுக உதவுகின்றது.

பாயிண்டரின் பயன்கள்.

 

சி மொழியில் ஒரு வேரியபிளுக்கு malloc(), calloc() போன்ற ஃபங்க்சன் உதவியுடன் டைனமிக் மெமரி அலோகேசன்  செய்ய பயன்படுகின்றது .

அர்ரே, ஃபங்க்சன், ஸ்ட்ரக்சர் ஆகியவற்றுடன் பயன்படுகின்றது.

அட்ரஸ் ஆஃப் ஆபரேட்டர்(&)

இது ஒரு வேரியபிளின் நிணைவக முகவரியை ரிடர்ன் செய்கின்றது.

ஒரு வேரியபிளின் நிணைவக முகவரியை ப்ரிண்ட் செய்ய %u எனப்ப்படும் ஃபார்மேட் ஃபெசிஃபையரை பயன்படுத்த வேண்டும்.

#include<stdio.h>  

int main(){  

int number=50;   

printf("value of number is %d, address of number is %u",number,&number);    

return 0;  

}    

வெளியீடு:

value of number is 50, address of number is fff4

 

நன்றி .

முத்து கார்த்திகேயன் ,மதுரை.

ads Udanz

No comments:

Post a Comment