1、陣列名稱不可以代表儲存區
2、陣列名稱可以代表陣列裡第乙個儲存區的位址
3、可以對陣列名稱進行sizeof計算,結果是陣列裡所有儲存區的總大小
4、c99規範裡可以使用變長陣列,宣告變長陣列的時候可以用變數表示陣列裡的儲存區個數
5、某一次程式執行過程中變長陣列裡儲存區個數不會變化
6、如果程式會多次執行則每次執行的時候陣列裡包含的儲存區個數可能不同
7、變長陣列不可以初始化
8、多維陣列可以表示儲存區的分組情況
9、一維陣列不能表示儲存區的分組情況
10、二維陣列是最常見的多維陣列,它只代表了儲存區的一次分組情況
11、宣告二維陣列的時候需要提供兩個整數,前乙個整數表示分組個數,後乙個整數表示每組裡的儲存區個數
12、使用二維陣列名稱和兩個下標可以表示二維陣列裡的某個儲存區,前乙個下標表示分組編號(組下標),後乙個下標表示分組內的儲存區編號(組內下標)
13、組下標的有效範圍從0開始到分組個數減一為止組內下標的有效範圍從0開始到組內儲存區個數減一為止
14、可以採用多重迴圈依次處理二維陣列裡的每個儲存區
15、可以把二維陣列當作一維陣列進行初始化
16、可以對初始化資料進行分組,一組初始化資料用來初始化一組儲存區
17、如果可以根據初始化資料的個數計算出分組個數就可以省略陣列宣告裡的分組個數
18、二維陣列名稱也可以代表陣列裡第乙個儲存區的位址
19、對二維陣列名稱進行sizeof計算結果是陣列裡所有儲存區的總大小
20、二維陣列名稱也可以只配合乙個下標使用,這個下標當組下標用。這個寫法表示那一組中最前面那個儲存區的位址,這個寫法有時候可以當作一維陣列使用,這個一維陣列由組下標對應組中所有儲存區構成
/*
* 一維陣列練習
**/#include
void exercise_1() ;
printf("arr是%p,&arr[0]是%p\n", arr, &arr[0]);}/*
* 用sizeof對陣列進行計算時,結果為陣列的總大小
* */
void exercise_2() ;
printf("sizeof(arr)的大小是:%d\n",sizeof(arr));}/*
* 變長陣列,在c99下可以,編譯時輸入"-std=c99"
* */
void exercise_3()
/* * 編寫程式,得到一組分數(成績個數由使用者決定)
* 得到最大成績,最小成績,總分
* 方法一
* */
void exercise_4()
// 計算最大
max = arr[0];
min = arr[0];
for(i = 0; i < num ; i++)
if(arr[i] < min)
}//計算總和
for(i = 0; i < num; i++)
printf("最大成績是:%d 最小成績是:%d 成績總和是:%d \n", max, min, total);}}
/* * 編寫程式,得到一組分數(成績個數由使用者決定)
* 得到最大成績,最小成績,總分
* 方法二
*/void exercise_5()
max = min = total = arr[0]; //將第乙個成績賦值
for(i = 1; i < num; i++)
printf("最大成績是:%d 最小成績是:%d 成績總和是:%d \n", max, min, total);
}int main()
/*
* 二維陣列練習
**/#include
/* * 依次處理二維陣列每個元素
* 初始化陣列方式一
* */
void exercise_1()
for(row = 0; row <= 2; row++)
printf("\n");
}}/*
* 初始化方式二
* */
void exercise_2() ;//少幾位補幾個0
int row = 0, col = 0, tmp = 0;
for(row = 0; row <= 2; row++)
printf("\n");
}}/*
* 初始化方式三
* */
void exercise_3() ,,,};//初始化,哪一位少了就填0
int row = 0, col = 0, tmp = 0;
for(row = 0; row <= 2; row++)
printf("\n");
}}void exercise_4() ;
printf("arr是%p,&arr[0][0]是%p\n", arr, &arr[0][0]);
printf("sizeof(arr):%d\n", sizeof(arr));
printf("arr[1]是:%p,&arr[1][0]:%p", &arr[1], &arr[1][0]);
printf("sizeof(1)是%d",sizeof(arr[1]));}/*
* 二維陣列練習
* */
void exercise_5() ;
int row = 0, col = 0;
printf("輸入25個數:\n");
for(row = 0; row <= 4; row++)
for(row = 0; row <= 4; row++) }/*
*11112
*40002
*40002
*40002
*43333
*關係:
* 1: =0行 <=3列
* 2: <=3行 =4列
* 3: =4行 >=1列
* 4: >=1行 =1列
* */
void exercise_6() ;
int row = 0, col = 0;
for(row = 0; row <= 4; row++)
else
if(row <= 3 && col ==4)
else
if(row == 4 && col >= 1)
else
if(row >= 1 && !col) }}
for(row = 0; row <= 4; row++)
printf("\n");
}}int main()
C語言二維陣列
int main int argc,const char argv int array 5 建立乙個二維陣列 型別修飾符陣列名 包含幾個小陣列 每個小陣列有多少個元素 初始值如何寫?int array 3 4 一維陣列可以省略元素個數,二維陣列只能省略第一位 第乙個 3 可以不寫 第二種初始值寫法 ...
C語言 二維陣列
c語言之二維陣列 1 定義的基本格式 int a 1 2 1代表一行,2代表二列 難點 二維陣列的行列下標。字串結束標誌的實用。2 一維陣列和二維陣列的聯絡。一維陣列如同千層面一樣一層一層的,而二維陣列,只是給千層面切了幾刀 3 int a 2 3 a 0 0 是1,a 0 1 是2,a 0 2 是...
C語言二維陣列
1.二維陣列定義的一般形式是 型別說明符 陣列名 常量表示式1 常量表示式2 常量表示式1表示 第一維下標的長度 常量表示式2表示 第二維下標的長度 int arr 3 4 在c語言中,二維陣列是按行排列的 即行優先 即,先存放a 0 行,再存放a 1 行,最後存放a 2 行。每行中有四個元素也是依...