打印
[ARM入门]

int *p定义一个名叫*p的变量,这样理解正确么?

[复制链接]
347|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
int *p定义一个名叫*p的变量,这样理解正确么?
简单介绍一下指针:由于通过地址能找到所需的变量单元,可以说,地址指向该变量单元。因此,将地址形象化地称为“指针。”意思是通过它能找到以它为地址的内存单元。

一般形式
类型名 *指针变量名;

大部分人初学C语言的时候遇到:int p,则理解为定义了一个int类型的变量p。

因此到指针的时候,很容易也理解:int *p,是一个int类型的*p变量,这种说法实际上是错误的。

int *p,其中p只是变量的名字,int *表示p变量存放的是int类型变量的地址,而不是一个int类型的*p变量。

指针就是一个地址,地址就是一个指针。

所谓int *类型,实际上就是存放int变量地址的类型,而地址则是内存单元的编号。

还有一点需要注意,指针和指针变量是两个不同的概念,我们平时习惯性说的指针,实际上是指针变量,指针只是一个地址,没有其他含义。

建议初学者学习的时候,直接说清楚学的是指针变量还是指针,避免说多混淆概念。

使用特权

评论回复

相关帖子

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

本版积分规则

119

主题

139

帖子

0

粉丝