[C语言] 数组和指针的关系

[复制链接]
1098|6
 楼主| 734664813 发表于 2015-4-14 17:32 | 显示全部楼层 |阅读模式
这个函数在X86环境下,求输出结果,各位谈谈自己的看法,越详细越好
#include<stdio.h>
int main()
{
inta[5]={1,2,3,4,5};
int *ptr1=(int*)(&a+1);
int *ptr2=(int*)((int)a+1);
printf("%x,%x",ptr1[-1],*ptr2);
return 0;
}

cuya 发表于 2015-4-14 21:04 | 显示全部楼层
作业吧? 自己不能用电脑试试?
看法就是: 自己动手,丰衣足食。
NE5532 发表于 2015-4-15 12:09 | 显示全部楼层
自己的看法就是楼主智商还是很高,适合学软件,就是懒了点。
 楼主| 734664813 发表于 2015-4-15 12:45 | 显示全部楼层
NE5532 发表于 2015-4-15 12:09
自己的看法就是楼主智商还是很高,适合学软件,就是懒了点。

大哥别黑我,就是看了点c语言深入剖析,觉得里面的例子很实用,自己的理解终归是片面的,想把例子引出来听听别人的想法
NE5532 发表于 2015-4-15 13:13 | 显示全部楼层
没啥深入剖析,要深入剖析的,就是汇编了,这个题无非就是加1减1,把人绕晕而已,你找张纸,写上a[0]到a[5],对着程序走向,指前指后就知道在哪里了。
阮天宇00 发表于 2015-4-15 19:53 | 显示全部楼层
作业么?
平台不同会有差别~
弄个编译器,变异了运行一下就成了~
 楼主| 734664813 发表于 2015-4-17 14:11 | 显示全部楼层
NE5532 发表于 2015-4-15 13:13
没啥深入剖析,要深入剖析的,就是汇编了,这个题无非就是加1减1,把人绕晕而已,你找张纸,写上a[0]到a[5] ...

整本书看完就懂了,谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

41

帖子

0

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