آرایه با اندیس منفی !! - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

آرایه با اندیس منفی !!

+2 امتیاز

من یک کدی دیدم خیلی برام عجیبه این کد چجوری کار می کنه ؟!!

    int pointer[5];
    int *p=&pointer[3];
    p[-2]=3;
    

 

سوال شده دی 8, 1392  بوسیله ی ایندیانا (امتیاز 28)   4 6
دوباره تگ گذاری شد بهمن 12, 1392 بوسیله ی BlueBlade

1 پاسخ

+1 امتیاز
 
بهترین پاسخ

خط دوم ادرس خونه چهارم ارایه رو میزاره توی p یعنی p میشه

p = pointer+3

خط 3 وم معادل این کده :

*(p-2) =3 

یعنی خط 2 و3  میشه معادل کد زیر :

*(p+3-2) === *(pointer+1) === pointer[1]

و در مجموع کل کد بالا با این معادله :

int pointer[5];
pointer[1]=3;

 

پاسخ داده شده دی 8, 1392 بوسیله ی BlueBlade (امتیاز 15,315)   15 18 89
انتخاب شد شهریور 14, 1393 بوسیله ی farnoosh
...