اؤنجه موتذکیر اولدوغوموز تکین، ایشارهچیلری موتغیر سایماق اولار. بو بیر اؤزل موتغیر اولاراق، حافیظهدهکی بللی بیر آدرسی ساخلاییر.
ایشارهچی بیر موتغیر اولاراق، چوخلاری اوچون قورخونج اولسا دا، اونو دوٚزن ایچینده قوللانماق اولار.
بو بؤلومده، نئجه و نهدن اونو دوٚزن ایچینده قوللانماغی آچیقلایاجاییق. بئلهلیکله ایشارهچی بیر دوٚزنی نئجه یاراتماغی دا صؤحبت ائدهجهییک.
ایشی راحات و آنلاشیلان ائتمک اوچون، ایلک یول اولاراق، بو اؤرنک اوچون ایسترینگ ایستیفاده ائدهجهییک.
ایشارهچی دوٚزنی، سادهجه حافیظه آدرسلریندن یارانمیش بیر انبار تکیندیر.
بونون دا هاردا قوللانماسی احتیاج اولماق اوچون یاخشی بیر نمونهسی، آشاغیداکی اؤرنکدیر.
#include <stdio.h>
int main()
{
char *gang[5] = {
"Spanky",
"Buckwheat",
"Alfalfa",
"Darla",
"Pete the Pup"
};
int x;
for(x=0;x<5;x++)
printf("%s\n",gang[x]);
return(0);
}
بورادا یالنیز ۵ ساییدا آدرس یئری بیر اتاق جورلنیبدیر و بو آدرسلر، آشاغیداکی ایسترینگلر اوچون فورا تعریف اولوبلار. داها دوغروسو، ایسترینگ دوٚزنی تعریف اولوبدور، آنجاق تکنیکسل باخارکن، بونو دئمک ده دوٚز ساییلماز!
نیسه، سونرادان بو ایسترینگلر for حلقهیه گؤندریلهرک، چاپ اولورلار.
بو دوٚزنین حافیظه آدرسلردن یارانماسینی ثابیت ائتمک اوچون، سورس کودو بیراز دگیشدیرهجهییک.
۱۳-جو سطرده، %s یئر-ساخلاییجینی، %p ایله دگیشین.
بیلدیگینیز تکین ده بو placeholder، آدرس اوچون ایشلنیر.
#include <stdio.h>
int main()
{
char *gang[5] = {
"Spanky",
"Buckwheat",
"Alfalfa",
"Darla",
"Pete the Pup"
};
int x;
for(x=0;x<5;x++)
printf("%p\n",gang[x]);
return(0);
}
سونرا کامپایل و ایجرا ائدهرک، نتیجهیه ده باخین و قاباقکی پروقرامین نتیجهسی ایله توتوشدورون.
بوراخیش بو یول بئله گؤرونمهلیدیر.
Output Terminal
0x4006a4
0x4006ab
0x4006b5
0x4006bd
0x4006c3
Process returned 0 (0x0) execution time : 0.003 s
Press ENTER to continue.
۵ ساییدا آدرسین چاپ اولماسینی گؤره بیلرسینیز.
بو یول ایله ایسترینگ دوٚزنی تعریف ائتمک، ایکی-اؤلچولو دوٚزن تعریف ائتمکدن داها ایشجیلدیر (تأثیرلی، مؤثر).
ایکی-اؤلچولو دوٚزن ایله چالیشارکن، بوٚتون ایسترینگلرین اوزونلوغو، مجبور اولاراق لاپ اوزون ایسترینگدن تبعیت ائدهجکلر و لازیم اولمایان بوش یئرلری ده ایشغال ائدیب پروقرامی بوش یئرینه آغیرلادا بیلرلر. آنجاق ایشارهچی قوللانیرکن، بئله بیر سیخینتی قالمیر.
آشاغیداکی کودا باخین:
#include <stdio.h>
int main()
{
char *gang[5] = {
"Spanky",
"Buckwheat",
"Alfalfa",
"Darla",
"Pete the Pup"
};
int x;
char *cptr;
for(x=0;x<5;x++)
{
cptr = gang[x];
while(*cptr)
{
putchar(*cptr);
cptr++;
}
putchar('\n');
}
return(0);
}
چوخ آیدیندیر، ۱۲-جی سطرده cptr تکین یئنی بیر ایشارهچی تعریف ائتمیشیک. سونرا for حلقهسینده بیر آیری while حلقهسی یاراداراق، آدرسدهکی ایسترینگلرین ایچریسینه گئچمیشیک و بیر بیر آدرسدهکی کاراکترلری اوخویوب و چاپ ائتمیشیک. بو چاپ ائتمه مسئلهسی ده بوش کاراکتره یئتیشهنه قدر داوام ائدهرک، ایسترینگ اوچون اوخوماغین قورتارماسینی اعلام ائدهجک.
یاخشی. ایسترینگلری ده بیر-بیر سئچمک اوچون لاپ یاخشی یول، اونو gang[x] دوٚزنیندن اوخوماق یئرینه، ایشارهچیسینی ایستیفاده ائتمکدیر.
آشاغیداکی کودا باخین:
#include <stdio.h>
int main()
{
char *gang[5] = {
"Spanky",
"Buckwheat",
"Alfalfa",
"Darla",
"Pete the Pup"
};
int x;
char *cptr;
for(x=0;x<5;x++)
{
cptr = *(gang+x);
while(*cptr)
{
putchar(*cptr);
cptr++;
}
putchar('\n');
}
return(0);
}
۱۵-جی سطره باخین. cptr ایشارهچی اوچون آدرس، بیر ایسترینگ اوچون آدرسدن، اوبیری (نوبتی) ایسترینگ اوچون آدرسین لاپ باش یئرینه انتقال وئریلیبدیر.
قالان زادلار دا ائله قاباقکی تکیندیر.
یالنیز بیر نوکتهیی دئمهلیییک. بو ایشارهچی اوچون دوبل-اولدوز دا ایکی-اؤلچولو ماتریس یاراتماق اوچون قوللانا بیلردیک، آنجاق بوراداکی مبحث موقدماتی اولاراق، اونون نئجه قوللانماسینی داها بورادا دئمیریک.
یالنیز دوبل اولدوز گؤردویونوز واقت، موطلق ایکی-اؤلچولو حافیظه آدرسی ایله اؤزلشمهیی بیلمهلیسینیز.