PDA

View Full Version : سوال: فرق این سه کد چیست؟



motherboard
دوشنبه 03 شهریور 1393, 19:23 عصر
سلام.می خواستم فرق این سه کد رو برام بگید.منظورم اینه که برام شرح بدید.منتظر شنیدن گفته های همه هستم.
const int * ptr1;

int * const ptr2;

const int * const ptr3;

parvizwpf
دوشنبه 03 شهریور 1393, 19:30 عصر
http://social.msdn.microsoft.com/Forums/vstudio/en-US/59572c5d-05a4-492f-b52e-4823d9fa7a88/what-are-the-differences-between-const-int-int-const-and-const-int-const?forum=vcgeneral

motherboard
دوشنبه 03 شهریور 1393, 20:45 عصر
خیلی ممنون از لینکی که ارائه دادید.اگر یک توضیحی هم چاشنی کار بشه خیلی عالی میشه.با تشکر.

omid_kma
دوشنبه 03 شهریور 1393, 21:19 عصر
روش خوندن این عبارت ها از راست به جپ هست
اولی هست اشاره گر به int ثابت (محتوای اشاره گر ثابت هست مثلا 5=ptr1* ارور میده )
دومی اشاره گر ثابت به int (اشاره گر ثابت هست مثلا ++ptr2 ارور میده )
سومی اشاره گر ثابت به int ثابت (هم اشاره گر هم محتوا ثابت هستن , هیچ کدوم از 2 مثال بالا کار نمی کنه )
این جا هم توصیح داده شده http://www.7khatcode.com/414/%D8%AA%D9%81%D8%A7%D9%88%D8%AA-%D8%A7%D9%86%D9%88%D8%A7%D8%B9-const-%D9%87%D8%A7-%D8%A8%D8%A7-%D9%87%D9%85
ضمنا عبارت های پیچیده مثل

char *(*fp)( int, float *);

هم

با استفاده از قانون spirtal میشه خوندشون http://c-faq.com/decl/spiral.anderson.html (برای هر برنامه نویسی ++C/C دونستنش لازمه ! )

parvizwpf
دوشنبه 03 شهریور 1393, 21:23 عصر
رضای عزیز . دلیل اینکه توضیح نمیدم این بود که حس کردم جوابهای خود لینک کامل و مفهوم بود. دلیل بر بی احترامی نگیری یه موقع. شرمنده.