打印

变量的存储

[复制链接]
591|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wuhany|  楼主 | 2022-6-9 19:11 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
#include "stdio.h"



int main(void)

{

        unsigned char x,*p,**pp;

        x=12;

        p=&x;

        pp=&p;

        printf("*p=%d\n",*p);

        printf("**pp=%d\n",**pp);

        printf(" p=%d\n",p);

        printf("pp=%d\n",pp);

        printf("pp=%d\n",&pp);

}大家觉得这三个变量在内存中谁在前,谁在后,谁在什么位置?

使用特权

评论回复
沙发
jiahy| | 2022-6-9 19:17 | 只看该作者

什么意思?不是很明白你说的什么,能再解释一下这个现象吗

使用特权

评论回复
板凳
zwll| | 2022-6-9 19:19 | 只看该作者
输出结果出乎很多人意料,并非第一个变量就在内存的初始部分,而是刚好颠倒。

使用特权

评论回复
地板
zwll| | 2022-6-9 19:21 | 只看该作者

使用特权

评论回复
5
supernan| | 2022-6-9 19:23 | 只看该作者
我记得好像是,语句都是从右往左,所以没毛病

使用特权

评论回复
6
wuhany|  楼主 | 2022-6-9 19:26 | 只看该作者

使用特权

评论回复
7
jlyuan| | 2022-6-9 19:28 | 只看该作者

知道这个的目的是什么?有点好奇啊..
更多操作

使用特权

评论回复
8
juventus9554| | 2022-6-9 19:30 | 只看该作者
这个堆栈应该是向下堆的,所以地址越大越在前

使用特权

评论回复
9
wuhany|  楼主 | 2022-6-9 19:33 | 只看该作者

其实还是不大明白,我再琢磨琢磨吧,多谢了哈先

使用特权

评论回复
10
taoest| | 2022-6-10 16:34 | 只看该作者
怎么堆放是编译器的事,你写程序不应该去琢磨这些事情。关注你自己的业务。
你今天搞清楚了个编译器了,换个平台,又可能全部不一样了。没有意义的。

使用特权

评论回复
11
tpgf| | 2022-7-3 16:10 | 只看该作者
难道不是顺序执行吗

使用特权

评论回复
12
nawu| | 2022-7-3 18:45 | 只看该作者
可以在调试的时候看一下寄存器状态

使用特权

评论回复
13
aoyi| | 2022-7-3 18:56 | 只看该作者
为什么要关心这个问题呢

使用特权

评论回复
14
zljiu| | 2022-7-3 19:04 | 只看该作者
这个没有优先级吧

使用特权

评论回复
15
gwsan| | 2022-7-3 19:12 | 只看该作者
这个应该是随机的吧

使用特权

评论回复
16
tfqi| | 2022-7-3 19:23 | 只看该作者
这个应该是指针了吧

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

879

主题

10435

帖子

4

粉丝