我见过,
int *pnum;
int * pnum;
int* pnum;
这些都一样吗?
答案 0 :(得分:7)
是的,这三个都是一样的。在其中,*
不是解除引用运算符,它是类型int *
的一部分,指向int
的指针。
答案 1 :(得分:1)
是的,它们都是完全相同的。空白在C中并不重要。您选择的三个中的哪一个完全取决于个人偏好。
答案 2 :(得分:1)
当您声明变量时,就像您在示例中所做的那样,*
符号只告诉编译器该变量是指向您所选类型的指针。
示例:强>
int * p;
我们有一个整数指针的声明。我们怎么没有初始化指针,它的值是一个随机的内存地址。
示例2:
int a = 4;
int * p;
p =& a;
* p = 1;
在此示例中,可以看到将变量的内存地址分配给指针p
。符号&
获取变量a
内存地址。在最后一行,我们访问与指针关联的内存地址。换句话说,变量a
区域。
这是取消引用。