学习者问题。我可以用两种不同的方式声明和初始化一个指针
int a = 10;
int *p = &a;
还有
int a = 10;
int *q;
q = &a;
我想知道两者之间有什么区别,它在内存中是如何工作的?
最佳答案
这两个是一样的:
int *p; // declaration
p = &a; // assignment
而在另一个中,您将两个步骤合二为一:
int *p=&a; // declaration and assignment
如果您启用了一些编译器优化,编译器可能会将这两个步骤结合起来。
关于c - int *p = &a 和 q = &a 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22767095/