İnt * a arasındakı fərq nədir; və int ** a; c ildə?


cavab 1:

Tutaq ki, götürək

int i;

int * a;

int ** b;

İndi bir i-nin ünvanını saxlayan bir göstəricidir. Bir tip bir ünvana işarə etdiyi üçün göstərici adlanır.

int * a tam bir dəyişən olduğu üçün i-nin ünvanını saxlaya bilər.

İndi int ** b-ə baxın, int * (* b) olaraq görə biləcəyiniz bir göstərici.

C cihazı a ünvanını saxlayır.

Aşağıdakı dəyərləri üç dəyişənə təyin edə bilərik:

i = 5;

a =?

b = & a;

Əhəmiyyətli:

Yazdırdığınız zaman i: 5 (dəyər) çap olunur.

Bir dənəsini çap etsəniz: i-nin ünvanı çap olunur.

* Yazarsanız, a: 5 (dəyər) yazılır.

b yazdırmaq istəyirsinizsə: a ünvanı çap olunur

* B yazarsanız, i-nin ünvanı çap olunur

Çap etsəniz ** b: 5 (dəyər) çap olunur.


cavab 2:

Salam, aşağıdakı diaqrama və koda baxın, cavabınızı alacaqsınız. Əslində bir göstərici-göstərici anlayışı (cüt göstərici anlayışı)

Dəyişən nömrənin ünvanı: 1000

Göstəricinin ünvanı ptr1: 2000

Göstəricinin ptr2 ünvanı: 3000

// ———————————————— //

# daxil edin

int main ()

{

int num = 10;

int * ptr1;

int ** ptr2;

ptr1 =?

ptr2 =?

printf ("num =% d \ n dəyəri", num);

printf ("Qiymət * ptr1 =% d \ n", * ptr1);

printf ("Dəyər ** ptr2 =% d \ n", ** ptr2);

}

Nəşr:

Dəyəri num = 10

* Ptr1 = 10-da dəyər

** ptr2 = 10-da mövcud olan dəyər