C++开发面试题:取地址符数组名与数组名

来源:互联网 发布:淘宝详情代码生成器 编辑:程序博客网 时间:2024/05/18 19:19
#include "stdafx.h"#include <process.h>int _tmain(int argc, _TCHAR* argv[]){int a[5]={0,1,2,3,4};//a是数组名,代表数组首地址printf("a=%d\n", a);//&a取整个数组元素的地址,&a是代表整个数组的,printf("&a=%d\n", &a);//a+1即a[1]可以通过a的位移得到,进阶单位是以数组中单个元素字节长度。printf("a+1=%d\n", a + 1);//&a的进阶单位是整个数组的字节长度(这里是4*5=20)printf("&a + 1=%d\n", &a + 1);//&a[0]为int型地址,进阶一位加4个字节printf("&a[0] + 1=%d\n", &a[0] + 1);printf("---------------\n");//sizeof(a)计算数组所占内存printf("sizeof(a)=%d\n",sizeof(a));printf("sizeof(&a[0])=%d\n",sizeof(&a[0]));printf("sizeof(&a)=%d\n",sizeof(&a));system("pause");return 0;}



0 0
原创粉丝点击