Closed. This question is off-topic。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
                        
                        3年前关闭。
                                                                                            
                
        
我只是对指针有一个基本的了解。 int *v;int **v;有什么区别,并且int* v;int *v;有什么区别。请告诉我。

最佳答案

变量声明后,变量声明中的**的含义不同。在声明中,*声明要声明的变量是指向要声明的类型的值的指针。在您的示例中

int *v;


是指向int值的指针的声明,而

int **v;


是指向int值的指针的指针的声明。

但是,稍后在声明后的代码中,您可以调用

*v


解引用该指针,并获取存储在该指针指向的内存位置的值。

声明中的int* vint *v之间没有区别,尽管在同一行中声明多个变量时使用int *v更明显。在

int* v, u


v是指向int的指针,而u只是int,在编写时从该声明中可能不清楚

int *v, u


最终会使您的意图更加清晰(将v用作int指针,而u只是一个int)。

关于c - 在变量上使用单引用运算符和双引用引用运算符有什么区别? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38705349/

10-11 22:50
查看更多