关于栈的一些问题!

[复制链接]
2634|7
 楼主| ericyang001 发表于 2013-5-30 11:19 | 显示全部楼层 |阅读模式
本帖最后由 ericyang001 于 2013-6-5 14:28 编辑

//请大家看下4楼,帮我分析一下,谢谢!
!!!!!!!!!!!!!!!!!!!!
ayb_ice 发表于 2013-5-30 11:28 | 显示全部楼层
风马牛不相及的事

评论

@ayb_ice 恳请分析一下4#,谢谢!  发表于 2013-6-4 09:55
liusensen 发表于 2013-5-30 11:51 | 显示全部楼层
不明白                        
 楼主| ericyang001 发表于 2013-6-3 16:17 | 显示全部楼层

接着问:

1.假定一个32位无符号整形变量INT32U_Val = 0x12345678,那么它在小端模式+递减堆栈的情况下,存储就如同上图左边,正确?
2.假定一个8位无符号指针INT8U_ptr = (INT8U *)&INT32U_Val,那么这个指针指向的是“78”这个字节,正确?
3.INT8U_ptr ++后,它指向的是“56”这个字节,正确?
4.如果2,3正确,那么INT8U_ptr这个指针一直自加的情况下,会从栈底(高地址处)underflow?
  如果2,3不正确,那么正确的情况是什么?
  
================================================
5.假定这个栈先后进了一个32位无符号整形变量INT32U_Val = 0x12345678,和一个8位整形数组INT8U_Array[4] = {1, 0, 0, 0},那么存储就如同上图左边,正确?
6.如果5正确,那么数组的指针一直自加就会指向比它早进栈的INT32U_Val?
7.如果6正确,那么这个结果和我印象中“一个变量的指针一直自加会指向下一个定义的变量”不符,是我的印象不对?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
highgear 发表于 2013-6-3 21:59 | 显示全部楼层
这个问题与硬件密切相关, 所以不能脱离具体硬件一概而论。
ayb_ice 发表于 2013-6-4 10:07 | 显示全部楼层
本帖最后由 ayb_ice 于 2013-6-4 10:09 编辑

大于一个字节的数据保存时:
大端就是高位在前(低地址)
小端就是低位在前(低地址)

堆栈的增长方向与这显然没有什么必然联系


coody 发表于 2013-6-4 11:15 | 显示全部楼层
无关的
 楼主| ericyang001 发表于 2013-6-5 14:09 | 显示全部楼层
请大家帮我分析下4楼的问题!谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

43

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部