C的解除引用运算符“*”在哪里?

时间:2014-03-07 03:46:14

标签: c pointers

我见过,

int *pnum;
int * pnum;
int* pnum;

这些都一样吗?

3 个答案:

答案 0 :(得分:7)

是的,这三个都是一样的。在其中,* 不是解除引用运算符,它是类型int *的一部分,指向int的指针。

答案 1 :(得分:1)

是的,它们都是完全相同的。空白在C中并不重要。您选择的三个中的哪一个完全取决于个人偏好。

答案 2 :(得分:1)

当您声明变量时,就像您在示例中所做的那样,*符号只告诉编译器该变量是指向您所选类型的指针。

示例:

  

int * p;

我们有一个整数指针的声明。我们怎么没有初始化指针,它的值是一个随机的内存地址。

示例2:

  

int a = 4;
int * p;
p =& a;
* p = 1;

在此示例中,可以看到将变量的内存地址分配给指针p。符号&获取变量a内存地址。在最后一行,我们访问与指针关联的内存地址。换句话说,变量a区域。

这是取消引用。