forlsy 2015-10-15 14:55 采纳率: 0%
浏览 2420

C语言中,栈向下增长,为什么先声明的变量内存地址还更小?

比如

 int a = 1;
 int b = 2;

我在gdb中查看

 p &a  0xbffff018
 p &b  0xbffff01c

如果向下增长,不应该b的地址更小吗?为什么这里b的地址反而更大了...

  • 写回答

5条回答 默认 最新

  • forlsy 2015-10-15 15:07
    关注

    应该是 需要条用其他函数,看传递的参数和里面的变量的内存地址 这样才能判断
    这几个是编译器自己优化了。

    评论

报告相同问题?

悬赏问题

  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大