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.
Nội dung chính
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