1. 程式人生 > >一維陣列與二維陣列的一些區別

一維陣列與二維陣列的一些區別

//【一維陣列】
/*
#include <stdio.h>
void A(int arr[4])
{
 printf("%d\n",arr);
 printf("%d\n",arr + 1);
 printf("%d\n",arr[0]);
}
int main()
{
 int arr[] = {1,2,3,4};
 A(arr);
 return 0;
}
*/
//arr     陣列名:陣列元素的首地址(只適用於一維陣列) //int*





//arr+1   指標向後移動一個單元格  //int*


//arr[0]  第一個單元格的值   //int



//【二維陣列】
/*
#include <stdio.h>
int A(int(*arr)[4])
{
 printf("%d\n",arr);
 printf("%d\n",arr + 1);
 printf("%d\n",arr[0]);
 printf("%d\n",arr[0] + 1);
 printf("%d\n",arr[0][0]);
 return 0;
}
int main()
{
 int brr[][4] = {1,2,3,4,5,6,7,8,9,10,11,12};
 A(brr);
 return 0;
}
*/
//brr       //int(*p)[4]  (p是指向整型陣列的指標,簡稱 陣列指標)




//brr+1     //指標向後一行移動,不改變陣列型別



//brr[0]    //指向第一行的第一個單元格   //int*    可知【 brr[0] == arr 】



//brr[0]+1  //在brr[0]的基礎上向後移動一個單元格   //int*



//brr[0][0] //第一行第一個單元格的值   //int