数组【2】
1、sizeof
作用:求一个空间或者一种数据类型所占的字节
2、数组名是数组首元素的地址
想要输出内存地址,需要用到%p的格式控制符
3、地址偏移
规律:&x+y,看x的数据类型,偏移的时候以这个为单位进行偏移。
例:int a[5]={10,5,89,20,6}
首地址:30H(十六进制)
&a[0]+1 ==>34H;
&a+1 ==>44H;
解地址:*(&a) ==> a
4、二维数组地址偏移
规律:&x+y,看x的数据类型,偏移的时候以这个为单位进行偏移。
用法:一层一层看,结合数组名是数组首元素的地址
例:int[2][3]={{3,78,90},{-1,7,100}}
&a、a、&a[0]、a[0]、&a[0][0]都是代表二维数组的首地址
*a ==>*(&a[0]) ==>a[0]
*a[0] ==>*(&a[0][0])==>a[0][0]
*(a+1) ==>*(&a[0]+1)==>*(&a[1])==>a[1]
*(a[0]+1) ==>*(&a[0][0]+1)==>*(&a[0][1])==>a[0][1]
*a+1 ==>a[0]+1==>&a[0][0]+1==>&a[0][1]
*a[0]+1==>a[0][0]+1==>4