-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是指向intwhile 的指针u只是一个int,在编写时可能不清楚该声明
int *v, u
Run Code Online (Sandbox Code Playgroud)
最终会更清楚你的意图(做v一个int指针,u只是一个int).