打印
[开发资料]

C语言指针的定义

[复制链接]
392|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主

理解了C语言基础变量定义的概念后,我们再来对应理解C语言指针的定义,指针也是一种变量,也符合变量定义的基本形式:

<变量类型><变量名称>  

int  *p;


很多人对指针不理解或者理解不透彻,有两个方面的原因:

1.被指针这个翻译/叫法带偏了。

2.定义指针变量时,被这个*习惯性地用法/写法带偏了



咱们一个一个来解释、纠正和重新理解,

1.指针是一种变量,它的变量类型(变量实体)是一个地址,咱们把“指针”改成“地址变量”,以后碰到指针,就叫做“地址变量”,也就是说这个变量的实体内容是一个地址。

2.定义一个指针变量,习惯性写法是把*靠近变量名,按照C语言变量定义的基本形式<变量类型> <变量名称>,很容易产生错误的理解。那么咱们换一个写法,把*往前写,远离变量名,来看看效果。

以一个整型指针变量的定义为例,画个表格对比两种写法,帮助理解。




以上表格可以清晰的看出,*在变量定义时,是一种变量类型,表明变量是一个指针类型的变量,也就前面说的地址变量。但是,*在变量定义时,需要和其他基础变量类型一起使用,组成意义更具体的变量类型,比如,int 和*一起使用,

int *p;
同样,以表格的形式来帮助理解。


使用特权

评论回复
沙发
jf101| | 2024-9-14 10:27 | 只看该作者
int *确实这个是正确的,有时候理解不到位确实会导致问题发生

使用特权

评论回复
板凳
中国龙芯CDX| | 2024-9-19 08:09 | 只看该作者
*在变量定义时,是一种变量类型,表明变量是一个指针类型的变量,也就前面说的地址变量。

使用特权

评论回复
地板
星辰大海不退缩| | 2024-9-20 19:30 | 只看该作者
int 和*一起使用指代的是地址

使用特权

评论回复
5
szt1993| | 2024-9-23 17:32 | 只看该作者
指针是一种变量,它的变量类型(变量实体)是一个地址,咱们把“指针”改成“地址变量”,以后碰到指针,就叫做“地址变量”,也就是说这个变量的实体内容是一个地址

使用特权

评论回复
6
小夏天的大西瓜| | 2024-9-26 19:21 | 只看该作者
指针其实是地址变量

使用特权

评论回复
7
AdaMaYun| | 2024-10-13 17:54 | 只看该作者
指针是一种变量,它的变量类型(变量实体)是一个地址,咱们把“指针”改成“地址变量”,以后碰到指针,就叫做“地址变量”,也就是说这个变量的实体内容是一个地址。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

291

主题

1900

帖子

4

粉丝