C 语言 指针计算

来源:百度知道 编辑:UC知道 时间:2024/05/27 21:08:48
已知一维数组的首地址为404
main()
{
int a[]={10,20,30,40,50};
printf("%d,%d\n",a+1,a[2]);
printf("%d,%d\n",&a[3],*(a+4));
}
请说明原由 谢谢

首先要明白,*代表取内容,&代表取地址
第一行:a+1是取下标为1的地址,a[2]代表取内容,所以结果:408(C++环境下一个int型数据占4个字节,C环境下占两个字节,看你用的哪一个编译器),30,然后换行
第二行:&a[3]代表取地址,*(a+4)代表取内容,所以结果:416,50,然后换行

20;30;40;50