第七章 数组
作者:互联网
一、数组的概念
、
二、 一维数组
(一)定义
(二)初始化
没有赋初值,B[ ]所有元素是未知的
(四)存储
int a0,a1,a2,a3,a4;----- 不连续的存储空间
int arr[5]; ------占用连续的存储空间printf("%d\n",sizeof(a0));
printf("%d\n",sizeof(arr));//输出数组arr占据的字节:5*4
printf("总字节数:%d\n",sizeof(arr));//总字节数=sizeof(类型)*数组长度
printf("长度:%d\n",sizeof(arr)/sizeof(int));//数组长度=总字节数/sizeof(类型)
printf("长度:%d\n",sizeof(arr)/sizeof(arr[0]));//常用arr[0],因为任何数组肯定有arr[0]
(五)引用
#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]);
}
}
三、 二维数组
(一)定义
(二)初始化
int b[M][N]={{1,2,3},{},{4,5}}; 错误
int b[M][N]={{1,2,3},{0},{4,5}};正确
(三)存储
(四)引用
(五)遍历
#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");
}
}
标签:arr,第七章,int,void,数组,sizeof,size 来源: https://blog.csdn.net/a_1290/article/details/122736380