C语言 正确理解二维数组首地址

在一维数组中,数组名表示的是数组第一个元素的地址int a[10],*p=a;
那么二维数组呢int a[3][4], a 表示的是元素 a[0][0] 的地址吗?不是!二维数组就是一维数组,二维数组 a[3][4] 就是有三个元素 a[0]、a[1]、a[2] 的一维数组,所以数组 a 的第一个元素不是 a[0][0],而是 a[0],所以数组名 a 表示的不是元素 a[0][0] 的地址,而是 a[0] 的地址,所以*p=a,有问题

 

posted @ 2023-04-19 10:30  myrj  阅读(232)  评论(0编辑  收藏  举报