[C语言]自学计划day4(二)(认识指针)

指针的定义

了解指针前需要先了解数据的存储类型、存储方式和存储地址的概念

一个int类型定义的是4个字节

比如我们int a =10;

我们可以看做把a这个值放在了一个四个字节为单位的一个内存中,而存放a的这个内存是有一个地址的,我们可以把这个地址看做1001,也就是说a这个(旅客)整型变量居住在1001号房间

指针变量是什么呢

比如我们int* pa = &a;

&a就是a的地址(房间号),也就是1001,这个时候,我们创建了一个pa的指针变量,将整型变量 a的地址赋值给了指针变量pa,我们可以通过访问pa这个值来得到1001这个数字,然后就可以访问1001号房间,也就是访问a

如果这个时候我们修改*pa = 20,此时修改的是编号1001房间里面a的值,这个时候打印a就变成了a = 20

所以说指针变量*pa指向的是a的地址,被形象的称为指针

所有对于变量的访问都是通过地址进行的

//例如
int main()
{
	int a = 10;
	printf("%d\n", a);
	return 0;
}

此时打印a的步骤是:因为前面定义了a这个变量,系统会自动给a分配按整型存储方式的4个字节,并建立了a这个变量名和其所在地址的对应表,打印的时候首先通过变量名找到对应的地址,然后在这个4个字节中按照整型的存储方式读出整型变量a的值,最终按照10进制整数的格式输出

这种访问方式被称为“直接访问”方式

还有“间接访问”方式:将变量a的地址存放在指针变量*pa中,通过访问*pa的变量值来找到a的地址,从而达到访问a变量的结果

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值