一維陣列與二維陣列的一些區別
阿新 • • 發佈:2018-11-19
//【一維陣列】
/*
#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