واضح آرشیو وب فارسی:سایت ریسک: اشاره گر ها به چه درد می خورند؟ sicret 06 شهريور 1389, 16:36سلام می خواستم بدنم اشاره گر ها در سی پلاس پلاس به چه درد می خورند و فایده ی کلی آنها چیست؟ و تفاوت آنها با متغیر و آرایه در چیست با تشکر یک برنامه نویس نوپا:rose: the_king 07 شهريور 1389, 00:35تاپیک منتقل گردید. اشاره گر ها کاربرد های بسیاری دارند، از جابجایی های سریع و ساده داده ها گرفته تا مقدار دهی داده هایی که اندازه داده یا موقعیتشان در حافظه مشخص و ثابت نیست. مثلا در کد زیر طول آرایه بایستی n باشد که پیش از اجرا برنامه مقدارش مشخص نیست. ایجاد کردن یک آرایه با طول نامشخص بدون بکارگیری اشاره گر a میسر نیست : int n; cin >> n; int *a = new int[10]; در مثال زیر دو رشته a و b هر کدام 1000 خانه طول دارند و تعویض مقدار ایندو متغیر بدون جابجایی مقدار 2000 خانه میسر نیست : char a[1000], b[1000], temp; for (int i = 0; i < 1000; i++) { temp = a[i]; a[i] = b[i]; b[i] = temp; } اما با استفاده از اشاره گر، تعویض مقدار این دو رشته صرفا توسط جابجایی مقدار دو اشاره گر میسر است : char aa[1000], bb[1000], *temp; char *a = aa, *b = bb; temp = a; a = b; b = temp; اشاره گر یک متغیر است، چون متغیر داده دارد که بتواند تغییر کند. اشاره گر هم مقدارش (جایی که به آن اشاره می کند) تغییر پذیر است. تفاوت اصلی اشاره گر با سایر متغیر ها صرفا در این است که مقدار خود اشاره گر به تنهایی کاربردی ندارد، بلکه آن آدرسی از حافظه که اشاره گر به آن اشاره می کند کاربردش را مشخص می کند. آرایه ترکیبی از چندین داده از نوع مشابه است که بصورت متوالی پشت سر هم قرار می گیرند و با شماره هایی از هم تفکیک می شوند. خود آرایه به تنهایی احتمالا بزرگتر از یک متغیر است، اما اسم آرایه در حقیقت یک اشاره گر است. مثلا [ int a[4 یک آرایه با طول 4 خانه است، اما خود a یک اشاره گر است که به اولین خانه اشاره می کند. سایت ما را در گوگل محبوب کنید با کلیک روی دکمه ای که در سمت چپ این منو با عنوان +1 قرار داده شده شما به این سایت مهر تأیید میزنید و به دوستانتان در صفحه جستجوی گوگل دیدن این سایت را پیشنهاد میکنید که این امر خود باعث افزایش رتبه سایت در گوگل میشود
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 2374]