در زبان C بین آرایه ها و اشاره گرها ارتباط نزدیکی وجود دارد اشاره گرها حاوی یک آدرس و اسم آرایه نیز یک آدرس است. اسم آرایه آدرس اولیه عنصر آرایه را مشخص می کند . بعبارت دیگر اسم آرایه آدرس اولین محلی را که عناصر آرایه از آنجا به بعد در حافظه قرار می گیرند در خود نگهداری می کند .
بعنوان مثال اگر آرایه ای بصورت [table[8 تعریف کرده باشیم و اولین عنصر آرایه در محل ۴۰۰ حافظه قرار داشته باشد و اشاره گری بنام ptr بصورت زیر تعریف کرده باشیم :
int *ptr;
دستور ptr = & [table[0 آدرس شروع آرایه یعنی ۴۰۰ را در اشاره گر ptr قرار می دهد ( این دستور معادل دستور ;ptr = tanble است ) و دستور t = * ptr محتویات اولین محل آرایه ( اولین عنصر آرایه ) یعنی ( [table[0 ) را در متغیر t قرار داده دستور ۰ = ptr* محتویات اولین محل آرایه table را برابر با صفر قرار می دهد . با مطالبی که تاکنون گفته شد برای دسترسی به عناصر آرایه علاوه بر اندیس ، از اشاره گرها نیز می توان استفاده کرد :
آدرس آرایه را در اشاره گر ptr قرار می دهد ;ptr = tanble
به دومین عنصر آرایه اشاره می کند (table[1]); (َptr+ 1) * به i+1 امین عنصر آرایه اشاره می کند ;(ptr+i) *
حال با یک مثال توضیحات بالا را تکمیل می کنیم .
مثال : برنامه ای که ۵ مقدار را از ورودی خوانده و در آرایه ای قرار می دهد . سپس آنها را از آخرین مقدار به اولین مقدار به خروجی منتقل می کند .
#include <stdio.h> #include <conio.h> void main() { int arr[5],i; printf("\n enter five value:"); for(i=0 ; i<5 ; i++) scanf("%d",&arr[i]); printf("\n the reverse output is:"); for(i=4 ; i>=0 ; i--) printf("%4d",*(arr+i)); getch(); }
نمونه ای از خروجی برنامه مثال بالا :
enter five value : 10 20 30 40 50
the reverse output is : 50 40 30 20
عالی بود ، سایت خیلی خوب و کاربردی دارید
عالی بود، مرسی از سایت مفید و کاربردیتون
باسلام خیلی تشکرازسایت خوبتان.
ممنون از سایت خوبتون
عالی بودددد
مرسییییییی
سلام. ببخشید آموزش های جدید رو از کجا می تونم دنبال کنم؟؟
سلام چند وقتی است درگیریم زیاد سایت بروز نشده متاسفانه به زودی آموزش های جدید قرار خواهد گرفت ..
عالی بود مرسی از سایت خوبتون
عالی بود ممنونم از شما
سلام خیلی ممنون از مطالب خوب و مفیدتون
ممنون عالی بود
سلام خیلی ممنون از مطالب خوب و مفیدتون
سلام ؛ خواهش میکنم ..
سلام مرسی ازمطالب سایتتون استفاده کردم
سلام ..
خواهش می کنم اُمیدوارم مفید بوده باشه ..
سلام خیلی ممنون از سایت فوق العاده تون
متشکر 🙂
عالی بود ، سایت خیلی خوب و کاربردی دارید
یک دنیا ممنون
سلام ، ممنون از سایت خوبتون بابت قرار دادن این آموزش های مفید و کاربردی
موفق باشید
عالی بود ، با سپاس فراوان از زحمات شما