如果我有以下指针变量声明:
int *a;
int **c;
关于类型和各自持有的值,是否如下:
a
是 int*
类型,将保存一个内存地址
*a
是 int
类型,并将保存指针指向的变量的值
c
是 int**
类型,将包含 ????????????????????????
c*
是 int*
类型,并将保存它指向的指针的内存地址
c**
是 int
类型,假设指针 c
指向指针 b
,而指针b
指向变量a
,这里保存的值就是变量a
除了我不确定的 c
以外,这样是否正确?
谢谢。
最佳答案
int *a;
int **c;
关于a
,你是正确的。更常见的说法是 a
持有一个 pointer to int
。
c
是 int**
类型,并将保存一个指向 int 指针的指针
。
*c
是 int*
类型,并将保存一个指向 int 的指针
。
**c
是 int
类型,将保存一个整数值。关于 c
指向 b
和 b
指向 a
的说法是正确的。
参见 cdecl寻求帮助。 :)
关于C++ 指针 - 这里保存什么值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4819876/