பாயின்டர் மற்றும் அர்ரே.
பின் வரும் நிரல் ஒரு அர்ரேயின் ஒவ்வொரு எலிமெண்டின் முகவரியை
பிரின்ட் செய்கின்றது.
#include
<stdio.h>
int
main()
{
int x[4];
int i;
for(i = 0; i < 4; ++i)
{
printf("&x[%d] = %u\n", i, &x[i]);
}
printf("Address of array x: %u", x);
return 0;
}
வெளீயீடு:
&x[0]
= 1450734448
&x[1]
= 1450734452
&x[2]
= 1450734456
&x[3]
= 1450734460
Address
of array x: 1450734448
&x[0] –வும்
x –ம் ஓரே மதிப்பை காட்டுகின்றன. அதாவது x
என்பது ஒரு அர்ரேயின் பெயர். அதை பிரிண்ட் செய்தால் அதன் முதலாவது எலிமெண்டின் முகவரியை
பிரிண்ட் செய்கின்றது.
ஒரு அர்ரேயை எடுத்துக் கொள்வோம்.
int x[4]
·
&x[1] என்பது x+1 and x[1]
என்பது
*(x+1).
·
&x[2] என்பது x+2 and x[2]
என்பது *(x+2).
சான்று நிரல்.
#include <stdio.h>
int
main()
{
int i, x[6], sum = 0;
printf("Enter 6 numbers: ");
for(i = 0; i < 6; ++i)
{
scanf("%d", x+i);
sum += *(x+i);
}
printf("Sum = %d", sum);
return 0;
}
வெளியீடு:
Enter
6 numbers: 2
3
4
4
12
4
Sum
= 29
...ஒரு அர்ரேயின் பெயரும் அதன் முதலாவது
எலிமெண்டின் பெயரும் பொதுவாக பொருந்தி வரும்.
சான்று நிர;ல்.
#include
<stdio.h>
int
main()
{
int x[5] = {1, 2, 3, 4, 5};
int* ptr;
ptr = &x[2];
printf("*ptr = %d \n", *ptr);
printf("*ptr+1 = %d \n", *ptr+1);
printf("*ptr-1 = %d", *ptr-1);
return 0;
}
வெளியீடு:
*ptr
= 3
*ptr+1
= 4
*ptr-1
= 2
இந்த உதாரணத்தில் &x[2] ஆனது ptr-க்கு மதிப்பிருத்தப்
படுகின்றது. அதாவது மூன்றாவது எலிமென்டின் முகவரி. எனவே
அந்த முகவரியில் உள்ள மதிப்பு 3 ஆனது வெளியீடு
செய்யப்படுகின்றது.
Ptr+1 என்பது நான்காவது எலிமெண்டின் முகவரி.
எனவே அதில் உள்ள மதிப்பு 4 வெளியீடு செய்யப்படுகின்றது.
Ptr-1 என்பது இரண்டாவது எலிமென்டின் முகவரி எனவே அதில் உள்ள
மதிப்பு 2 ஆனது வெளியீடு செய்யப்படுகின்றது.
-நன்றி
முத்து கார்த்திகேயன் , மதுரை.
TO LEARN COURSES LIKE C,C++, JAVA, DOTNET, PYTHON, PHP, WEB DESIGNING, MS-OFFICE, TALLY CONTACT:96293 29142
please feedback about this article.
please feedback about this article.
No comments:
Post a Comment