Որն է տարբերությունը int * a- ի միջև; և int ** ա; ի գ?


պատասխանել 1:

Ենթադրենք, մենք վերցնում ենք

int i;

int * ա;

int ** բ;

Այժմ a- ը ցուցիչ է, որը պահում է i- ի հասցեն: Այն կոչվում է ցուցիչ, քանի որ այն մատնանշում է մի հասցե, որը տիպ է:

int * a- ն կարող է պահել i- ի հասցեն, քանի որ այն ամբողջ թվային փոփոխական է:

Հիմա նայեք int ** b- ին, այն ցուցիչ է դեպի ցուցիչ, որը կարող եք դիտել որպես int * (* b):

Սարքը b- ում պահում է a- ի հասցեն:

Մենք կարող ենք հետևյալ արժեքները երեք փոփոխականներին վերագրել.

i = 5;

ա =?

բ = & ա;

Կարևոր է.

Տպելիս i. 5 (արժեքը) տպվում է:

Եթե ​​տպում եք մեկը. I- ի հասցեն տպվում է:

Եթե ​​տպում եք *, տպվում է a: 5 (արժեքը):

եթե ցանկանում եք տպել b. a- ի հասցեն տպվում է

Եթե ​​տպում եք * b, տպվում է i- ի հասցեն

Եթե ​​տպում եք ** b: 5 (արժեքը) տպվում է:


պատասխանել 2:

Բարև ձեզ, տե՛ս ստորև նշված դիագրամը և կոդը, դուք կստանաք ձեր պատասխանը: Այն իրականում ցուցիչ-սլաքի հայեցակարգ է (երկակի ցուցիչ հայեցակարգ)

Փոփոխականի համարի հասցեն է ՝ 1000

Ptr1 ցուցիչի հասցեն է ՝ 2000

Ptr2 ցուցիչի հասցեն է ՝ 3000

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

# ներառել

int հիմնական ()

{

int num = 10;

int * ptr1;

int ** ptr2;

ptr1 =?

ptr2 =?

printf ("num =% d \ n", num) արժեքը;

printf ("Գինը մատչելի է * ptr1 =% d \ n", * ptr1);

printf ("Գոյություն ունեցող արժեքը ** ptr2 =% d \ n", ** ptr2);

}

Հրատարակություն.

Թիվ = 10-ի արժեքը

Առկա արժեքը * ptr1 = 10-ում

Հասանելի է ** ptr2 = 10-ում