C语言自学计划day4(二)

C语言自学计划day4(二),第1张

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("%dn", a);
	return 0;
}

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

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

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

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5503751.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存