课程
/后端开发
/C
/Linux C语言指针与内存
为什么使用指针之后地址和所储存的值换了位置
2016-01-27
源自:Linux C语言指针与内存 3-2
正在回答
指针变量本质上就是一个整型变量,里面存储的值是另一个变量内存的地址。* 和 & 符号都只是它的语法糖,是用来在形式上方便使用和理解指针的。* 操作符存在两次内存读写,第一次获取指针变量的值,也就是内存地址,然后再去拿这个内存地址所在的变量内容。
是啊,为何*b却变成了地址
我把代码稍微改一下: int* a;
这里的a就是代表指针变量(int*),而不是一个整型变量(int)
所以a存放的是地址,*a才是地址中存放的值(这里的*与第一行的*不同,这个*是取地址的意思)
因为定义时char *是定义的格式,比如char *p中的p是指针变量,而不是*p;引用时p代表的是地址,加上个*则是该地址上的值,即*p;
举报
指针-C语言的核心,代领大家对c语言有更加深刻的理解
1 回答这个地方为什么a没变 但是指针变了
1 回答为什么循环中i会自动指向a的内存地址?
2 回答为什么str[]被赋值之后又再次赋值就可以覆盖
1 回答为什么i的输出位置在a之后,而且i=1?
1 回答字符型指针变量的赋值问题