-6 c
我对指针有一个基本的想法.有什么区别int *v;
和之间int **v;
有什么区别int* v;
和int *v;
请告诉我.
小智 12
将*
在一个变量声明并不意味着同样的事情作为*
变量已被宣布之后.在声明中,声明*
变量的状态是指向您声明的类型的值的指针.在你的例子中,
int *v;
Run Code Online (Sandbox Code Playgroud)
是指向int
值的指针的声明,而
int **v;
Run Code Online (Sandbox Code Playgroud)
是指向int
值的指针的声明.
但是,稍后在声明后的代码中,您可以调用
*v
Run Code Online (Sandbox Code Playgroud)
取消引用该指针,并获取存储在指针指向的内存位置的值.
声明之间int* v
和int *v
声明之间没有区别,尽管int *v
在同一行中声明多个变量时使用更清楚.在
int* v, u
Run Code Online (Sandbox Code Playgroud)
v
是指向int
while 的指针u
只是一个int
,在编写时可能不清楚该声明
int *v, u
Run Code Online (Sandbox Code Playgroud)
最终会更清楚你的意图(做v
一个int
指针,u
只是一个int
).