Lập trình C - Con trỏ trỏ tới con trỏ
Con trỏ trỏ tới con trỏ trong C
Như bạn đã biết bản chất của con trỏ trong C là nó trỏ đến địa chỉ ô nhớ của một giá trị, con trỏ cũng là một biến. Vậy khái niệm con trỏ trỏ tới con trỏ trong C là con trỏ trỏ đến địa chỉ ô nhớ của một con trỏ khác.
Cú pháp
Cú pháp của con trỏ trỏ tới con trỏ.
int **p2;
Ví dụ con trỏ trỏ tới con trỏ trong C
Hãy xem một ví dụ về một con trỏ trỏ đến địa chỉ của một con trỏ khác.
Như bạn thấy trong hình trên, p2 chứa địa chỉ của p (fff2) và p chứa địa chỉ của biến number (fff4).
#include<stdio.h>
int main() {
int number = 50;
int *p; //con tro tro toi int
int **p2; //con tro tro toi con tro
p = &number; //luu tru dia chi cua bien number
p2 = &p;
printf("Dia chi cua bien number la %x \n", &number);
printf("Dia chi cua bien p la %x \n", p);
printf("Gia tri cua bien *p la %d \n", *p);
printf("Dia chi cua bien p2 la %x \n", p2);
printf("Gia tri cua bien **p2 la %d \n", **p2);
return 0;
}
Kết quả:
Dia chi cua bien number la 23f
Dia chi cua bien p la 23fe44
Gia tri cua bien *p la 50
Dia chi cua bien p2 la 23fe38
Gia tri cua bien **p2 la 50