一維陣列
/*
陣列:相同資料型別的有序集合
一維陣列定義:元素型別 陣列名[元素個數];
元素個數可以是常量,常量表示式,常量
*/#include
int main(void)
;//通過初始化,限定陣列的長度
int arr3[5]=;
int arr4[5]=;//剩下的值都為0;
int arr5=;//根據初始化值,限定陣列長度
char arr6[3]=;//剩下的值0=> '\0'
return
0;}
陣列使用
/*
陣列的使用
元素的使用:陣列名[下標]
下標從0開始,到(陣列長度-1)結束
*/#include
int main(void)
; //輸入
for(int i=0; i<5; i++)
//輸出
for(int i = 0; i < 5; i++)
printf("%d\n",a[i]);
return
0;}
陣列逆序
//
// 求陣列逆序
//#include
#define n 10 //定義長度
int main(void)
for (i=0; i2; i++)
printf("逆序陣列為:");
for (i=0; i< n; i++)
printf("\n");
return
0;}
二維陣列
/*
二維陣列:元素型別 陣列名[行數][列數]
*/#include
int main(void)
; char arr4[3]=,{},,};
printf("arr1=%lu\n",sizeof(arr1)); //char[3][4] 12
printf("arr1[0]=%lu\n",sizeof(arr1[0])); //char[4] 4
printf("arr1[0][0]=%lu\n",sizeof(arr1[0][0])); //char 1
printf("arr4[0][0]=%lu\n",sizeof(arr4[0][0]));
printf("arr4[0]=%lu\n",sizeof(arr4[0]));
printf("arr4=%lu\n",sizeof(arr4));
return
0;}
二維陣列元素的引用
//二維陣列元素的引用
//元素的引用 陣列名[行數][列數]
//#include
#define n 5
#define m 10
int main(void)
printf("\n");
}}
矩陣的轉置
//
// 矩陣的轉置
//#include
int main(void)
printf("\n");
}//轉置
char b[m][n];
for (int i=0; ifor (int j=0; j//輸出
for (int i=0; ifor (int j=0; jprintf("%c",b[i][j]);
}printf("\n");
}}
矩陣的主對角線,輔對角線之和
//
// 求矩陣的主對角線,輔對角線之和
//#include
int main(void)
; int sum1=0;
int sum2=0;
for (int i=0; i<4; i++)
if (i+j==3) }}
printf("sum1=%d,sum2=%d\n",sum1,sum2);
return
0;}
陣列作為函式引數
//
//陣列與函式
//陣列作為函式引數
//1.陣列元素作為函式引數,函式形參定義為陣列元素的型別
//2.陣列名作為函式引數,傳遞的實參是陣列位址,接收形參是指標型別
//3.為了在被調函式中體現出實參是陣列,形參使用陣列型別接收
//4.使用其他的整型變數將陣列長度傳給被調函式
//5.使用陣列名做函式引數,可以實現在被調函式中間間接訪問主調中值
//#include
int max(int,int);
int main(void)
; int p1,p2;
scanf("%d,%d",&p1,&p2);
printf("max=%d\n",max(a[p1],a[p2]));
return0;}
//求比較大的值
int max(int a,int b)
#include
void input(int ,int);//宣告可以不加變數名
void output(int ,int);
void change(int ,int);
int main(void)
void change(int a,int len)
for (int i=0; iprintf("%d",a[i]);
}printf("\n");
}void input(int arr,int len)
}void output(int b,int len) //相當於 (int *b,int len)指標
printf("\n");
}
二維陣列做函式引數
/*
*二維陣列做函式引數
*1.陣列名做函式引數,實參是二維陣列名,形參是指向二維陣列一行的指標
2.二維陣列降維成一維陣列,將行列都傳遞
* */
#include
void input(int [4],int);
void sum(int ,int,int);
void most(int ,int,int);
void change(int ,int,int,int );
void sort(int ,int);
int main(void)
printf("\n");
}//輸出每行排序後的結果
printf("此二維陣列每行排序後的結果為:\n");
sort(a[0],3);
for(int i=0;i<3; i++)
return0;}
void input(int a[4],int len) //指標 int (*)[4]
}}//降維成一維陣列求二維陣列每行的和
void sum(int b,int row,int col)
printf("第%d行的和是:%d\n",i,sum);
}}//求二維陣列最大值
void most(int b,int row,int col)
}printf("此二維陣列最大值是:%d\n",maxvalue);
printf("此二維陣列最小值是:%d\n",minvalue);
}//轉置二維陣列
void change(int a,int row,int col,int b)
//選擇排序
void sort(int a,int len)
}temp=a[min];
a[min]=a[i];
a[i]=temp;
}}
二維陣列的轉置
//
//陣列返回給主調函式,保證返回的位址有用且有效
////
//二維陣列的轉置
#include
void change(int,int,int,in);
int main(void)
; int b[4][3];
change(a,3,4,b);
for (int i=0; i<4; i++)
printf("\n");
}}void change(int a,int row,int col,int b)
,,{},{}};
return0;
}
C語言學習筆記《陣列》
1,已知陣列x有5個元素,精組y有6個元素.請分別對x和y排序。輸出x和y排序後的元素 include main y 6 int i,j,sum 0 for i 0 i 4 i int i,j,sum for i 0 i 9 i for i 0 i 9 i printf d t a i code c...
C語言學習筆記(四)陣列
一 陣列 1.陣列基本使用 陣列的定義格式 型別 陣列名 元素個數 int ages 5 19 19 28 27 26 ages 1 29 ages 0 19 ages 1 19 ages 2 28 ages 3 27 ages 4 26 遍歷 按順序檢視陣列的每乙個元素 for int i 0 i...
C語言學習筆記 陣列
陣列是用來儲存乙個固定大小的同型別元素的順序集合。type arrayname arraysize intarray 5 int array intarray 5 include int main int argc,const char argv int i for i 0 i 5 i 多維陣列最簡...