为什么使用了指针之后,a就变成了地址 而*a成为了所赋的值呢?

来源:3-2 使用gdb调试案例

Sirius_R

2016-01-27 11:27

 为什么使用指针之后地址和所储存的值换了位置

写回答 关注

4回答

  • 慕莱坞4063624
    2020-02-16 22:37:38

    指针变量本质上就是一个整型变量,里面存储的值是另一个变量内存的地址。* 和 & 符号都只是它的语法糖,是用来在形式上方便使用和理解指针的。* 操作符存在两次内存读写,第一次获取指针变量的值,也就是内存地址,然后再去拿这个内存地址所在的变量内容。

  • guofengio
    2019-03-13 21:48:21

    是啊,为何*b却变成了地址

  • 热喷Redpen
    2016-03-06 10:02:58

    我把代码稍微改一下: int* a;

    这里的a就是代表指针变量(int*),而不是一个整型变量(int)

    所以a存放的是地址,*a才是地址中存放的值(这里的*与第一行的*不同,这个*是取地址的意思)

  • 慕瓜5843645
    2016-01-27 15:43:22

    因为定义时char *是定义的格式,比如char *p中的p是指针变量,而不是*p;引用时p代表的是地址,加上个*则是该地址上的值,即*p;

Linux C语言指针与内存

指针-C语言的核心,代领大家对c语言有更加深刻的理解

116475 学习 · 250 问题

查看课程

相似问题