c语言数组定义(详细)「建议收藏」

c语言数组定义(详细)「建议收藏」数组:什么是数组:变量的组合,是一种定义变量的手段。定义:类型数组名[数量];数组定义后,默认值同样不确定,因此也需要初始化。intarr[5]<==>intnum1,num2,num3,num4,num5;使用:数组名[编号]编号(下标)从0开始,范围[0,数量-1]遍历:配合for循环从头到尾显示,循环变量i就当做数组的下标。intarr[5];f…

大家好,又见面了,我是你们的朋友全栈君。

数组:
什么是数组:变量的组合,是一种定义变量的手段。
定义:类型 数组名[数量];
数组定义后,默认值同样不确定,因此也需要初始化。
int arr[5] <==> int num1,num2,num3,num4,num5;
使用:数组名[编号]
编号 (下标) 从0开始,范围[0,数量-1]
遍历:配合for循环从头到尾显示,循环变量i就当做数组的下标。
int arr[5];
for(int i=0;i<5;i++)
{

printf(“%d “,arr[i]);
}
初始化:int arr[5] = {1,2,3,4,5};
1、如果初始化数据不足补零。
2、如果初始化数据过多会丢弃,但是会产生警告
3、如果有初始化数据,可以省略数组的长度,因为编译器会统计数组的个数,然后告诉数组
4、只能给元素逐个赋值,不能给数组整体赋值。
sizeof(arr):计算出数组的总字节数
sizeof(arr[0]):计算出数组的第一个元素的字节数
计算数组的长度:sizeof(arr)/sizeof(arr[0]);
二维数组:
一维数组可以看作把变量排成一排,二维数组相当于把变量排成一个方阵。
也可以认为二维数组是由多个长度相等的一维数组构成。
定义:类型 数组名[行数][列数];
int arr[3][5];
[][][][][]
[][][][][]
[][][][][]
使用:数组[行号][列号];
行号和列号都是从0开始,范围[0,数量-1];
arr[0][0] arr[0][1] arr[0][2] arr[0][3] arr[0][4]
arr[1][0] arr[1][1] arr[1][2] arr[1][3] arr[1][4]
arr[2][0] arr[2][1] arr[2][2] arr[2][3] arr[2][4]
遍历:双层for循环,外层循环负责行号,内层循环负责列号
初始化:
1、分段赋值
int arr[3][5]={
{1,2,3,4,5},{11,12,13,14,15},{21,22,23,24,25}};
2、连续赋值
int arr[3][5]={1,2,3,4,5,11,12,13,14,15,21,22,23,24,25};
3、未赋值的元素自动补零
4、初始化时,行数可以省略,但是列数不可以。
int arr[][5]={
{1,2,3,4,5},{11,12,13,14,15},{21,22,23,24,25}};
变长数组:
什么是变长数组:指的是数组在编译期间长度还不确定,在运行期间可以发生变化,当执行到数组定义语句的时候,数组的长度就确定下来(一旦确定,不能改变)
优点:可以根据程序运行期间的实际需要,灵活设置数组的长度,达到节省内存的目的。
缺点:不能初始化(因为数组的初始化是在编译的帮助下完成,但是变长数组的长度在编译期间还不确定,因此不能初始化)

数组的越界:
在C语言中使用数组时,是不对下标进行检查的(检查会浪费大量的时间,降低效率),数组下标的正确完全靠程序员自觉。
数组越界的后果:
1、一切正常
2、段错误
3、脏数据

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/162999.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Vba菜鸟教程[通俗易懂]

    Vba菜鸟教程[通俗易懂]文章目录Vba菜鸟教程编辑器宏vba基本语法运算符变量语句简写语句sub语句调用语句退出语句分支语句循环语句判断语句公式与函数在单元格输入公式利用单元格公式返回值调用工作表函数利用vba函数自定义函数操作对象操作工作簿操作工作表操作单元格事件工作簿事件工作表事件控件按钮弹窗输入框附表对齐方式字体格式填充Vba菜鸟教程官方文档:https://docs.microsoft.com/zh-cn/o…

    2022年6月3日
    113
  • pycharm激活码最新【在线注册码/序列号/破解码】

    pycharm激活码最新【在线注册码/序列号/破解码】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月20日
    41
  • 最流行的三大数据建模工具

    最流行的三大数据建模工具越来越多的业务,越来越多的信息化系统,让很多公司拥有了海量数据,但是分散的数据、隔离的系统,又形成了一个个数据孤岛。于是,为了利用好数据,各大公司纷纷建设了数据仓库,或者是最近升级为大数据平台之类的,但是,不同条线不同场景的数据又要如何整合到同一个仓库呢?数据模型就此应运而生,通过高度抽象的数据模型,整合各个源系统的数据,最终形成统一、规范、易用的数据仓库,进而提供包括数据集市、数据挖掘…

    2022年6月1日
    36
  • 电容器图片及型号图片_电容电阻图片大全

    电容器图片及型号图片_电容电阻图片大全图1是胆电容;图2是灯具电容器;图3是MKPH电容;图4是MET电容;图5、图10是PEI电容;图6是胆贴片电容;图7是MPE电容;图8是贴片电容;图11是轴向电解电容器;图12是MPP电容。图1是PPN电容;图2是PET电容;图3是MEA电容;图4MPB是电容;图5是PPT电容;图6是MPT电容;图7是电解电容器;图8是MET电容;图9是MKPH电容;图10、11是电机用电容;图12是MKS电…

    2022年8月22日
    6
  • 二进制减法的简单过程

    二进制减法的简单过程二进制减法的运算方法二进制减法有两种运算方法,可以使用向高位借位的办法,也可以将减法转为加法采用借位的办法不是很快捷,比较容易看错,示例如下:1010-0111————0011被减数末尾的0向前一位借1,相当于10(2)-1得到1,倒数第二位被借一位后变0,继续向前一位借,以此来得到结果,如果减数大于被减数,则需将最后的结果按位取反得到结果。另外也可采用转换为加法…

    2022年6月28日
    25
  • springboot的介绍_springboot web

    springboot的介绍_springboot webSpringboot入门介绍一、Spring框架概述1.1什么是SpringSpring是一个开源框架,Spring是于2003年兴起的一个轻量级的Java开发框架,由RodJohnson在其著作《ExpertOne-On-OneJ2EEDevelopmentandDesign》。Spring是为了解决企业级应用开发的复杂性而创建的,使用Spring可以让简单的Ja…

    2022年8月20日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号