C语言程序设计 指针?

C语言程序设计 指针?,第1张

变量前面加&代表取出这个变量的地址,歼禅&又叫取址符

指针前面加*代表取出,指针所指向的内存里的数据(值),*又叫取值符

p是指针,n是变量

计算机解析代码是从右到左,所以

*&n = *(&n)

&n代表取出n在内存中的地址,取址

*&n,就是对&n在取值

*&n和n是等价的

所以下面的都是等价的

*p = *&n

*p = n

p = &n

就好比小明住在番茄花园

小明家的地址就是番茄花园

番茄花园里的值就是小明

n代表小明,

&n就是小明的家(番茄花园)

*&n就好比问小明的家里住着谁,答案依然是小明

就好比我老婆的老公还是我。

再来理解一下*p

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

p就是番茄花园

*p就是再问,番茄花园里住着谁

就好比有一个人叫小壮的,想找小明聚聚,但是不知道小明家的地址,他就找来和小明最要好的朋友小强,磨改旁通过小强的他给了你一个字条,上面写着小明的地址,这张字条就是指针,指针就是一瞎橡个记录地址东东,如果哪天小明搬家了,这张字条也就作废了,所以指针指向的是一个内存地址,如果这个地址被释放了,这个指针也就作废了,因为指针就是一张带着地址的纸。

指针就是一个变量,这个变量里存储的是一个地址。

例如int* a,double*b,a和b里面存储的都是地址清凳。槐基但是计算机去一个地址取里面的东西的时候,怎么知道这个铅正谨地址放的是啥东西呢,如果是a里面存储的,那么就说明这个地址放的一个int的值,计算机会按照整型数据存储的格式去取数据。而如果是b的地址去取数的话,计算机会按照double类型数据存储的格式去取数据。

int**c叫做指针的指针,比如变量a的地址就可以存储在c里面。

不同类型的数据在计算机中存储的格式是不一样的,你以后学习计算机组成原理就会学到。


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

原文地址: http://outofmemory.cn/yw/12230285.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-22
下一篇 2023-05-22

发表评论

登录后才能评论

评论列表(0条)

保存