我对指针有一个基本的想法。 int *v;
和int **v;
之间有什么区别,int* v;
和int *v;
之间有什么区别请告诉我。
答案 0 :(得分:12)
变量声明中的*
与声明变量后的*
并不相同。在声明中,*
表示声明的变量是指向您声明的类型值的指针。在您的示例中,
int *v;
是指向int
值的指针的声明,而
int **v;
是指向指向int
值的指针的声明。
但是,稍后在声明后的代码中,您可以调用
*v
取消引用该指针,并获取存储在指针所指向的内存位置的值。
声明中int* v
和int *v
之间没有区别,但在同一行中声明多个变量时使用int *v
更为明确。在
int* v, u
v
是指向int
的指针,而u
只是int
,在撰写时可能无法从该声明中清楚
int *v, u
最终会更明确地表达您的意图(v
int
指针和u
仅int
}。