C语言中定义数组

定义数组

  • <类型>变量名称【元素数量】
  1.  int grades[100]
  2. double weight[20]
  • 元素数量必须是整数
  • C99之前:元素数量必须是编译时刻确定的字面量

 数组

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

int a[10]

  • 一个int的数组
  • 10个单元:a[0]、a[1]、……,a[9]
  • 每个单元就是一个int类型的变量
  • 可以出现在赋值的左边或右边;
  1. a[2]=a[1]+6;
  • 在赋值左边的叫做左值 

数组的单元

  • 数组的每个单元就是数据类型的一个变量
  • 使用数组时放在[]中的数字叫做下标或索引、下标从0开始计数
  1. grades[0]
  2. grade[99]
  3. average[5]

 有效的下标范围

  • 编译器和运行环境都不会检查数组下标是否越界,无论是数组单元做读还是写
  • 一旦程序运行,越界的数组访问可能造成问题,导致程序崩溃
  • segmentation fault
  • 但是也可能是运气好,没造成严重的后果
  • 所以这是程序员的责任来保证只使用有效的下标值:[0,数组的大小-1]

长度为0的数组? 

  • int a[0];
  • 可以存在,但是无用

任务目的 

计算平均数

任务实施

int x;
double sum=0;
int cnt;
printf("请输入数字的数量:");
scanf("%d",&cnt);
if(cnt>0){
    int number[cnt];
    scanf("%d",&x);
    while(x!=-1){
        number[cnt]=x;
        sum+=x;
        cnt++;
        scanf("%d",&x);
    }

如果先让用户输入有多少数字要计算,可以使用C99的新功能来实现 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值