一、数组的概念
、
二、 一维数组
(一)定义
(二)初始化
没有赋初值,B[ ]所有元素是未知的
(四)存储
(五)引用
#define size 5
int main(void)
{
int i=0;
int arr[size]={0};
//顺序输入
for(i=0;i<size;i++){
printf("请输入第%d个数据:",i+1);
scanf("%d",&arr[i]);
}
//顺序输出
for(i=0;i<size;i++){
printf("%d\n",arr[i]);
}
return 0;
}
(五)一维数组作为函数参数
#define size 5
void intput(int a[],int len);//函数的声明
void output(int a[],int len);
int main(void){
int i=0;
int arr[size]={0};
intput(arr,size);
output(arr,size);
return 0;
}
//函数的功能: 顺序输入一维数组的数据
//一维数组作为函数参数
void intput(int a[],int len){
int i=0;
//顺序输入
for(i=0;i<len;i++){
printf("请输入第%d个数据:",i+1);
scanf("%d",&a[i]);
}
}
void output(int a[],int len){
int i=0;
//顺序输出
for(i=0;i<len;i++){
printf("请输入第%d个数据:%d\n",i+1,a[i]);
}
}
三、 二维数组
(一)定义
(二)初始化
(三)存储
(四)引用
(五)遍历
#define M 3
#define N 4
int main(void)
{
int arr[M][N] = {{1,4,7,10},{2,5,8,11},{3,6,9,12}};
int i = 0,j = 0;
//按行操作
for(i=0 ;i<M ;i++)//行下标遍历
{
for(j=0 ; j<N; j++)//列下标遍历
{
printf("%d\t" , arr[i][j]); // \t:打印一个tab键
}
printf("\n");
}
//按列操作
for(j=0 ; j<N; j++)//列下标遍历
{
for(i=0 ;i<M ;i++)//行下标遍历
{
printf("%d\t" , arr[i][j]); // \t:打印一个tab键
}
printf("\n");
}
return 0;
}
(六)二维数组作为函数参数
#define M 3
#define N 4
void output(int b[M][N],int row,int column );
int main(void)
{
int arr[M][N] = {{1,4,7,10},{2,5,8,11},{3,6,9,12}};
int i = 0,j = 0;
output(arr,2,3); //函数的调用
return 0;
}
void output(int b[M][N],int row,int column ){ //也可写成int b[ ][N]
int i=0,j=0;
for(i=0 ;i<row ;i++)//行下标遍历
{
for(j=0 ; j< column ; j++)//列下标遍历
{
printf("%d\t" , b[i][j]);
}
printf("\n");
}
}