C 数组详解

本文详细介绍了C语言中的数组,包括数组的定义、数组的单元、有效的下标范围、数组运算,如集成初始化、数组大小计算以及数组在函数参数中的使用。还通过实例讲解了如何判断素数和构造素数表,强调了数组下标从0开始的重要性以及避免数组越界的方法。
摘要由CSDN通过智能技术生成

C语言程序设计:数组

数组

定义数组

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

数组是什么

数组是一种容器,它具有的特点是:

容器是现代程序设计中非常重要的一个概念,或者说现代编程语言都应该提供某种形式的容器,或者说语言所提供的容器的能力的大小是评判语言能力大小的重要标准。

  • 其中所有元素具有相同的数据类型
  • 一旦创建,不能改变大小
  • 在内存中,数组的元素是紧密依次排列的

数组的单元

  • 数组的每个单元就是数组类型的一个变量

  • 使用数组时放在[]中的数字叫做下标或者索引,下标从0开始计数:

    数组下标从0开始计数是由C语言始创的,因为这样可以让C语言的编译器简化很多操作。

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

长度为0的数组?

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

数组运算

数组的集成初始化

int a[] = {2,4,2,31,312,31,31,231,21,31,3}

  • 直接给出数组所有元素的初始值

  • 不需要给出数组大小,编译器会自动判断

  • 若给出了数组大小,但后面的初始值数量不足,则其后的元素会被初始化为0

    • int[10] = {
             2, 3};
      PRINT: 2 3 0 0 0 0 0 0 0 0 0
      
集成初始化时的定位
int a[10] 
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值