C pointeur vers un pointeur
Le pointeur est un pointeur vers une forme multi-stade de l'adressage indirect, ou est une chaîne de pointeur. En règle générale, un pointeur contient l'adresse d'une variable. Lorsque nous définissons un pointeur vers un pointeur, le premier pointeur contient l'adresse du second pointeur, le deuxième pointeur contient l'emplacement de la valeur réelle.
Un pointeur vers une variable de pointeur doit être déclarée comme suit, à savoir placer deux astérisques devant le nom de la variable. Par exemple, le suivant déclare un pointeur vers un pointeur int pointeur:
int **var;
Lorsqu'une cible est un pointeur vers un autre pointeur indirectement des points d'accès à cette valeur requiert l'utilisation de deux astérisques opérateur, comme indiqué dans les exemples suivants:
#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; }
Lorsque le code ci-dessus est compilé et exécuté, il produit les résultats suivants:
Value of var = 3000 Value available at *ptr = 3000 Value available at **pptr = 3000