p *pa是访问地址所指的内容,那int *pa=&a;这不是地址吗,怎么*pa又是地址又是所指的内容?怎么回事?

来源:4-6 函数指针与指针指向的数据访问

温州皮革厂厂长

2015-08-25 22:02

int *pa=&a;

(gdb) p *pa

$4=3

写回答 关注

2回答

  • AAnonymous
    2015-08-25 22:38:12
    已采纳


    int a = 0; // 在堆上分配了一个4字节的地址存放a, a 的值为 0
    int* p = &a; // 指针 p 指向了 a 的地址。你可以认为是 int* 一个整体 声明指向int类型的指针


    AAnony... 回复温州皮革厂厂...

    我回复错了,不是堆,是栈。int *a = new int; 才在堆上

    2015-08-26 18:12:05

    共 2 条回复 >

  • god_晴空
    2015-11-01 20:21:14

    int a = x;//常数

    int *pa = &a,  其实pa为a的地址,*pa=x,变量的实质是内存 ,指针的实质是地址

Linux C语言指针与内存

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

116475 学习 · 250 问题

查看课程

相似问题