C wskaźnik do wskaźnika
Kursor jest wskaźnikiem do postaci wielostopniowej z adresowania pośredniego, czy jest to sieć wskaźnik. Zazwyczaj wskaźnik zawiera adres zmiennej. Gdy określenie wskaźnika do wskaźnika, pierwszy wskaźnik zawiera adres drugiego wskaźnika, drugi wskaźnik zawiera lokalizację rzeczywistej wartości.
Wskaźnik do zmiennej wskaźnika muszą być zadeklarowane w następujący sposób, a mianowicie umieszczenie dwie gwiazdki przed nazwą zmiennej. Na przykład, następujące deklaruje wskaźnik do int wskaźnik wskaźników:
int **var;
Gdy tarcza jest wskaźnikiem innego wskaźnika pośrednio punktów dostępu do tej wartości wymaga użycia operatora dwiema gwiazdkami, jak to przedstawiono w następujących przykładach:
#include <stdio.h> int main () { int var; int *ptr; int **pptr; var = 3000; /* 获取 var 的地址 */ ptr = &var; /* 使用运算符 & 获取 ptr 的地址 */ pptr = &ptr; /* 使用 pptr 获取值 */ printf("Value of var = %d\n", var ); printf("Value available at *ptr = %d\n", *ptr ); printf("Value available at **pptr = %d\n", **pptr); return 0; }
Gdy powyższy kod jest kompilowany i wykonany, że daje następujące wyniki:
Value of var = 3000 Value available at *ptr = 3000 Value available at **pptr = 3000