二维数组的简单使用方法
(用于自己的知识积累,方便后期查看)
一维数组
定义较为方便,uint8 array[10];定义了一个10个字节的数组array。其中array是这个一位数组的首地址,引用数组指针时可以直接使用。array[0]是数组的第一个元素,它的地址也是array。因此,array和&array[0]其实是同一个内存位置。
在函数中引用这个数组元素时,fun(uint8 * block)‘
fun(array)函数中,使用第5个元素,可写成block[4],既可。
二维数组
定义较为方便,uint8 array[10][7];定义了一个二维数组array。数组中有10组数据,每组数据中又有7个排列的元素。
int array[3][7];
printf("array=%d\n",&array);
printf("array[0]=%d\n",&array[0]);
printf("array[0][0]=%d\n",&array[0][0]);
打印的首地址结果为
array=409058128
array[0]=409058128
array[0][0]=409058128
可见这三个都可以作为此二维数组的首地址使用。
再看一下中间的一个首地址情况
printf("array[1]=%d\n",&array[1]);
printf("array[1][0]=%d\n",&array[1][0]);
打印的首地址结果为
array[1]=1537990188
array[1][0]=1537990188
可见,在取地址指针时,第二列的[0]可以不用写。
即array[1]表示为第二个数组的首地址,&array[1][0]也表示为第二个数组的首地址。