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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Python3 实例–Python 计算圆的面积

    Python3 实例–Python 计算圆的面积#代码如下:#Python3实例–Python计算圆的面积print(“Python3实例–Python计算圆的面积”)#公式中r为圆的半径。r=float(input())PI=3.14s=PI*(r**2)print(“圆的面积为:{}”.format(s))#运行结果如下:Python3实例–Python计算圆的面积3圆的面积为:…

    2025年6月5日
    3
  • TCP拥塞控制机制(附面试题)

    TCP拥塞控制机制(附面试题)产生的原因∑对资源的需求&amp;amp;amp;gt;可用资源∑对资源的需求&amp;amp;amp;gt;可用资源\sum_{}^{}对资源的需求&amp;amp;gt;可用资源注意单纯的增加网络资源无法解决问题例如:把结点的存储空间扩大,更换更高速率的链路,提高结点处理机的运算速度,不仅不能解决问题,而且可能使网络性能更坏。原因:网络拥塞是许多因素引起的,单纯的解决一个可能会使上述情况得到一些缓解,但是会把拥塞转移到其…

    2022年6月24日
    21
  • dpkg强制卸载

    dpkg强制卸载dpkg的一个强制卸载的方法安mysql的时候因为玄学国家防火墙,安到一般被阻断了,再卸的时候各种依赖不对,dpkg-r/-P怎么都卸不掉,提示有依赖卸载包的东西,找到一个–force-all就可成功卸载了,但有的包可能出现缺少依赖的情况,最好还是不要烦躁看清楚依赖关系!另外aptautoremove千万别随便用,可能把系统的基本组件也给你卸掉…

    2022年9月27日
    2
  • eNSP安装步骤_ENSP常用命令

    eNSP安装步骤_ENSP常用命令今天工作需要安装ensp,记下步骤以便以后使用。1前期准备工作1.1下载并打开VirtualBox-5.2.26-128414-Win安装包,按向导安装完毕。1.2下载并打开WinPcap_4_1_3安装包,按照导示安装完毕1.3下载并打开Wireshark-win64-1.12.4安装包,按照导示完成安装2完成ensp的安装下载并安装eNSP_Setup,打开运行按照导示完成安装即…

    2022年8月31日
    1
  • 计算机中一个字等于多少个字节

    计算机中一个字等于多少个字节转:https://blog.csdn.net/Fabulous1111/article/details/79525384这个概念问题一段时间后就容易忘记,还是记录一下:一个字等于多少个字节,与系统硬件(总线、cpu命令字位数等)有关,不应该毫无前提地说一个字等于多少位。正确的说法:①:1字节(byte)=8位(bit)②:在16位的系统中(比如8086微机)1字(word)=2字节(byte)=16(bit)在32位的系统中(比如win32)1字(word)=4字节(by

    2022年10月1日
    2
  • 微信公众平台卡券功能_微信账号上的领劵是真是假

    微信公众平台卡券功能_微信账号上的领劵是真是假文章目录1.微信卡券功能介绍2.申请方式2.1公众平台申请2.2开放平台申请3.申请条件3.1公众平台条件3.2开放平台条件4.申请种类、类目、商户类型4.1开放种类4.2开放类目4.3开放商户类型5.申请流程及步骤5.1申请流程5.2申请步骤5.2.1公众平台申请步骤5.2.2开放平台申请步骤6.开发流程6.1制作普通卡券通过微信公众平台制作(免开发)6.2卡券投放6.3卡券核销扩展微信《卡券功能申请类目与资质审核要求》微信《卡券违规处罚及清退规则》1.微信卡券

    2022年8月20日
    10

发表回复

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

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