C 陣列要點
陣列宣告
int ar[5]={11,22,}; //陣列定義時,未被定義到的元素值為0
int ar[5]={[3]=11,22,[0]=5566}; //C99指定元素定義
int ar[]={11,22,33,44,55}; //定義時陣列可以自動計算元素個數
-
陣列通過[n]訪問元素 下標從0開始 合法下標為0--(N-1)
- 編譯器無法檢查下標合法性 由程式設計師自己保證正確
陣列賦值
1. 陣列不支援整體賦值 僅在定義時可用{}
ar[5]={1,2,3,4,5};
2. 陣列不支援整體賦值:陣列名單獨作為右值 它以首地址的形式存在 指向第一個元素
br=ar; //錯誤:將‘int *’賦值給‘int[5]’時型別不相容
陣列名單獨作為右值 它以首地址的形式存在 指向第一個元素
br=ar; //錯誤:將‘int *’賦值給‘int[5]’時型別不相容
陣列名單獨作為函式引數 它以首地址的形式存在 指向第一個元素
一維陣列
int ar[5]={0};
void showArray(int ar[5],int n) ------------------------->showArray(ar,5);
void showArray(int *ar,int n) ------------------------->showArray(ar,5);
二維陣列
int ar[3][2]={1,2,3,4,5,6};
void showArray(int ar[3][2] );------------------------>showArray( ar );
void showArray(int (*ar)[2] );------------------------>showArray( ar );
void showArray(int ar[2] );------------------------>showArray( ar[2] );
void showArray(int *ar );-------------------------->showArray( ar[2] );