Sirius_R
2016-01-27 11:27
为什么使用指针之后地址和所储存的值换了位置
指针变量本质上就是一个整型变量,里面存储的值是另一个变量内存的地址。* 和 & 符号都只是它的语法糖,是用来在形式上方便使用和理解指针的。* 操作符存在两次内存读写,第一次获取指针变量的值,也就是内存地址,然后再去拿这个内存地址所在的变量内容。
是啊,为何*b却变成了地址
我把代码稍微改一下: int* a;
这里的a就是代表指针变量(int*),而不是一个整型变量(int)
所以a存放的是地址,*a才是地址中存放的值(这里的*与第一行的*不同,这个*是取地址的意思)
因为定义时char *是定义的格式,比如char *p中的p是指针变量,而不是*p;引用时p代表的是地址,加上个*则是该地址上的值,即*p;
Linux C语言指针与内存
116475 学习 · 250 问题
相似问题