数组定义与应用

目录

定义数组

数组的集成初始化

二维数组

 二维数组的定义

 二维数组的初始化

遍历数组


定义数组

<类型>变量名称[元素数量];

元素数量必须是整数。数组的每个单元就是数组类型的一个变量。

数组的大小就是所有元素大小之和

数组特点:一种放东西的容器,其中所有的元素具有相同的数据类型,一旦创建,不能被改变大小。数组中的元素在内存中是连续依次排列的。

数组的例子:统计个数

#include<stdio.h>

int main()
{
   const int number=10;      //数组大小
   int x;
   int count[number];        //定义数组
   int i;

   for(i=0;i<number;i++){
       count[i]=0;
    }                         //初始化数组
   scanf("%d",&x);
    while(x!=-1){
        if(x>=0&&x<=9){
           count[x]++;       //数组参与运算
        }
        scanf("%d",&x);
    }
    for(i=0;i<number;i++){
        printf("%d:%d\n",i,count[i]);
    }                         //遍历数组输出
}

注:数组创建,[]中要给一个常量才可以,不能使用变量。可以直接用常量,或使用宏定义。 

数组的集成初始化

数组的初始化是指再创建数组的同时给数组的内容一些合理初始值。

int  a[]={数字;数字;数字;数字;……};

直接用大括号给出数组的所有元素的初始值,不给出数组大小,编译器替你数数。

sizeof给出整个数组所占据的内容的大小,单位是字节 。sizeof(a[0])/sizeof(a)给出数组中单个元素的大小,于是相除就得到了数组的单元个数。这样的代码,一旦修改数组中初始的数据,就不需要修改遍历的代码。

二维数组

 二维数组的定义

<类型>变量名称[n][m];       //n,m为数字

通常理解为a是一个n行m列的矩阵 

  变量名称[i][j]       表示第i行第j列上的单元

 二维数组的初始化

int a[元素数量][元素数量]={

               {数字;数字;数字;……},

               {数字;数字;数字;……},

};

  •  列数是必须给出的,行数可以由编译器来数
  • 每行一个{},逗号分隔

遍历数组

for (i=0;i<length;i++){
     b[i]=a[i];
}
for(i=0;i<number;i++){
    count[i]=0;
}
for(i=0;i<length;i++){
    if(a[i]==key){
        ret=i;
        break;
     }
}
for(i=0;i<cnt;i++){
    if(number[i]>average){
        printf("%d",number[i]);
     }
}
for(i=0;i<number;i++){
    printf("%d:%d\n",i,count[i]);
}

通常都是使用for循环,让循环变量i从0到<数组的长度,这样循环体内最大的i正好是数组最大的有效下标。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值