View Full Version : سوال: فرق ++ پیشین و پسین
vB.N3T
یک شنبه 29 مرداد 1391, 19:35 عصر
سلام دوستان من این نکته کنکوری رو فراموش کردم ممنون میشم کمکم کنید
فرق این پلاس پلاس ها با هم چیه
int a =1,b=4,d;
d=++a;
d=a++;
tdkhakpur
یک شنبه 29 مرداد 1391, 19:58 عصر
d=++a یعنی اینکه اول a رو یه جمع بزن بعد توی d قرار بده اما d=a++ برعکس قبلی یعنی اول a رو توی d قرار بده بعد یه دونه بهش اضافه کن.
با این حساب d در اولین مرحله میشه 2 و در دومین بازم 2 میشه.
بهروز عباسی
یک شنبه 29 مرداد 1391, 21:59 عصر
d=++a یعنی اینکه اول a رو یه جمع بزن بعد توی d قرار بده اما d=a++ برعکس قبلی یعنی اول a رو توی d قرار بده بعد یه دونه بهش اضافه کن.
با این حساب d در اولین مرحله میشه 2 و در دومین بازم 2 میشه.
درود
ممنون از پاسخ
من خیلی وقته سی کار نمی کنم الان که اینو دیدم یک سوال برام پیش امد این چیزی که گفتید در مورد اشاره گر هاهم صادقه؟؟؟
ممنون میشم پاسخ بدید.
باتشکر
مسعود اقدسی فام
یک شنبه 29 مرداد 1391, 22:39 عصر
درود
ممنون از پاسخ
من خیلی وقته سی کار نمی کنم الان که اینو دیدم یک سوال برام پیش امد این چیزی که گفتید در مورد اشاره گر هاهم صادقه؟؟؟
ممنون میشم پاسخ بدید.
باتشکر
بحث عملکردش در مورد اشارهگر کمی فرق داره. چون اونجا ++ به معنی یه واحد حافظه حرکت رو به جلو نیست لزوما. ممکنه چند بایت باشه. همینطور --.
به این پیوند مراجعه کنید:
http://www.algorithmha.ir (http://www.algorithmha.ir/post-%D8%A7%D8%B4%D8%A7%D8%B1%D9%87-%DA%AF%D8%B1-%D8%AF%D8%B1-%D8%B3%DB%8C-%D9%BE%D9%84%D8%A7%D8%B3-%D9%BE%D9%84%D8%A7%D8%B3.aspx)
tdkhakpur
یک شنبه 29 مرداد 1391, 23:17 عصر
درود
من خیلی وقته سی کار نمی کنم الان که اینو دیدم یک سوال برام پیش امد این چیزی که گفتید در مورد اشاره گر هاهم صادقه؟؟؟
فرقی نداره تا اونجایی که اطلاع دارم مفسر سی در این مورد میره سراغ تنظیمات اشاره گر و بعد از دریافت آدرس روی محتوای اون آدرس عملیات رو انجام میده.
اما ریزه کاریهایی هم میتونه در این بین وجود داشته باشیه مثل استفاده از پارانتز که این میتونه عملیاتی مثل کد بالا رو تغییر مسیر داده و عوض محتوا آدرس رو تحت تاثیر قرار بده.
اما در کل اگه همین کد رو بصورت اشاره گر استفاده کنید هیچ فرقی به حال قضیه نداره.
مثل این
int *a, b=1,d;
a = &b;
d=++*a;
d=*a++;
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.