C语言指针中 *p 和 p 的区别

首先要知道如何定义一个指针变量,即 int *p;

这个时候我们说p是一个指针变量,我们可以对它进行赋值,即 p = &a;(当然a是一个int型的变量,需要提前定义,即 int a;)

那么问题来了,“*”是用来干什么的呢?

这里呢,我们需要分两种情况来讨论这个“*”。

第一种情况,在定义的时候, * 是用来区分指针变量的,即有 则代表这个变量是一个指针变量。但要注意一点,这里的 *p本质上还是一个指针变量,* 只是起到一个标志的作用,代表这是一个指针变量。那么在初始化的时候,我们应该这样写:

int a, *p = &a;

而不能写成:

int a, p = &a;

第二种情况就是除了在定义的时候的其他情况。*p 和 p 的区别就在于p是一个指针变量,它里面装的是地址。

而p则是这个指针p所指向的地址的数据。比如 int a, *p = &a; 那么后续的p代表的是&a,即a的地址。而*p代表的则是那个a;

综上所述,*p在定义的时候是一个指针变量,而定义完以后就代表指针所指向的数据了。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>