تفاوت بین (* ptr ++) و (ptr ++) در کد C زیر چیست؟


پاسخ 1:

در اینجا * ptr ++ آدرس را قبل از بازگشت کاراکتر در یک موقعیت خاص افزایش می دهد. اما ptr ++ آدرس را مستقیماً افزایش می دهد. هر دو نشانگر شما را به جلو سوق می دهند زیرا هر دو ++ (اپراتور افزایشی) دارای اولویت بالاتری نسبت به اپراتور مرجع پایین هستند. اگر از آن مانند (* ptr) ++ استفاده کنید ، ابتدا یک مرجع را دوباره ارجاع می دهد و سپس یک عنصر خاص را افزایش می دهد.


پاسخ 2:

* ptr

* ptr ++

* (ptr + 1)

* (ptr + n

ارزش دارد

ptr

ptr ++

ptr + 1

ptr + n

آدرس

S نیز چاپ شده است. پس از چاپ ، متغیر ptr به موقعیت بعدی اشاره می کند. 1 بایت از آنجا که نشانگر کاراکتر است رد می شود.

آن را چاپ می کند زیرا ما در بیانیه قبلی آدرس آن را افزایش دادیم.

آدرس نامه ، یعنی آدرس پایه را چاپ می کند.

آدرس پایه را چاپ می کند و فقط آن را افزایش می دهد.


پاسخ 3:
  1. * ptr ++

در اینجا باید اولویت عملگر را در نظر بگیریم.

++ (post fix) بر عملگر اولویت دارد *.

بنابراین * ptr ++ به عنوان * (ptr ++) در نظر گرفته می شود

این بدان معناست که اشاره گر به موقعیت بعدی اشاره می کند. و ارزش این مکان را بگیرید.

2. ptr ++

در اینجا دو مورد وجود دارد.

اگر ptr ++ را به عنوان یک نشانگر اعلام کنیم ، بر اساس نوع داده به موقعیت بعدی ارجاع می دهیم.

اگر اعلام کنیم که ptr ++ فقط متغیر است ، مقدار آن با 1 افزایش می یابد.

برای اطلاعات بیشتر

می توانید به ما در +91 91680 35333 برسید


پاسخ 4:
  1. * ptr ++

در اینجا باید اولویت عملگر را در نظر بگیریم.

++ (post fix) بر عملگر اولویت دارد *.

بنابراین * ptr ++ به عنوان * (ptr ++) در نظر گرفته می شود

این بدان معناست که اشاره گر به موقعیت بعدی اشاره می کند. و ارزش این مکان را بگیرید.

2. ptr ++

در اینجا دو مورد وجود دارد.

اگر ptr ++ را به عنوان یک نشانگر اعلام کنیم ، بر اساس نوع داده به موقعیت بعدی ارجاع می دهیم.

اگر اعلام کنیم که ptr ++ فقط متغیر است ، مقدار آن با 1 افزایش می یابد.

برای اطلاعات بیشتر

می توانید به ما در +91 91680 35333 برسید