7-1 指针基础

1. 打印变量的地址,以 16 进制显示

int a;
scanf("%d", &a);

int *p = &a;
printf("%#x",p);    

2. 打印出指针类型的空间大小 

printf("%d", sizeof(int *));  // msvc 64位编译器是8个字节大小,gcc 编译器是4个字节大小

3. 注意指针套娃,最不注意的是 &pp 的值,这个用不到,但不能忽略

int *p = &a;
int **pp = &p;    // 指针变量的地址存入到另一个指针变量中

此处逻辑:首先系统通过 &pp 的地址 9b412ffd90 找到变量 pp = &p,获取到其中的值 9b412ffd88,这个值就是指针变量 p 的地址,然后通过这个地址去找到指针变量 p,发现 p 里面的值是 9b412ffd64(&a),然后去找该地址 &a 对应的值,发现里面的值是 1,正好是变量 a 的值

 

fd

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值