Bin*_*Sun 3 c pointers pointer-to-pointer
我是C编程语言的初学者.我在书上看到了一个代码:
#include<stdio.h>
int main(){
int * * k, *a, b=100;
a = &b;
k = &a;
printf("%d\n",* * k);
}
Run Code Online (Sandbox Code Playgroud)
我不知道的意思int * *k.这是整数指针还是值?它会指向什么?它包含什么/存储?这个变量有什么用?我怎么能理解这个表达方式?
int **k
Run Code Online (Sandbox Code Playgroud)
k是指向int(双指针)的指针,并保存一些其他指针变量的地址.
在你的例子中:
int b = 100; /* 'b' is an int, initialized to value 100 */
int *a = &b; /* a is a pointer-to-int*/
int **k = &a; /* k is a pointer-to-pointer-to-int */
Run Code Online (Sandbox Code Playgroud)
请参阅下图以便更好地理解: