其他分享
首页 > 其他分享> > 第七章 数组

第七章 数组

作者:互联网


 

 

 


一、数组的概念

二、 一维数组

(一)定义

 

(二)初始化

 

 

 

没有赋初值,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