关于一维数组和二维数组

来源:互联网 发布:网络金融销售 编辑:程序博客网 时间:2024/04/30 11:34

一维数组:

作为右值时,a 和&a[0] 相同,均表示数组首元素的地址。a+1是a[1]的地址

&a表示数组的首地址,值和a, &a[0]相同,但代表的意义完全不一样,&a+1则指向下一个数组的头一位



二维数组:

如int a[2][2]

a为二维数组名,表示其首元素地址,而其首元素是包含两个int的行数组,故a+1为a[1]的地址

任意元素可表示为*(*(a+i)+j)

int* p = a;是错误的,因为基类型不一样,int* 表示p指向的是int类型的数,而a这个地址指向了int行数组


a[0]是一维数组的名字,指向a[0]数组的首元素,*a[0] = a[0][0]

int* p = a[0];是对的 任意元素可表示为 *(p+i*N+j)




原创粉丝点击