详解C语言初阶之数组

时间:2022-01-03 06:12:27

1.数组

1.1数组的概念

所谓数组(array),就是具有相同数据类型的集合,存放的数据类型即数组本身的类型。

详解C语言初阶之数组

可以发现存储的都是int型

补充 :调试小技巧

调试窗口 (按F5进行调试,打开菜单栏中的调试―窗口―监视―随便打开一个监视窗口,输入arr,将程序运行过arr的初始化即可观察到arr内部进行的初始化)

1.2数组的定义

a:完全初始化

详解C语言初阶之数组

数组内部存储了4个int类型的数据,分别是1,2,3,4

b:不完全初始化

详解C语言初阶之数组

要求开辟四个空间存储数据,但只对第一个进行了初始化,默认后面三个均为0

c:给定元素个数

给定元素个数后,可以是完全初始化,也可以是部分初始化。

d:不给定元素个数

详解C语言初阶之数组

自动给四个元素分配空间,实际上中括号内还是4

注意:

a:不给定元素数据一律视为完全初始化

b:数组内部元素个数至少为1

c:[]内部必须是整型常量(c90 标准)――c99标准支持其他类型(linux),但我们主流仍旧采用c90标准,同样注意,我们一般所用的const定义的常量叫作常变量,本质并不算常量,因此该类型数据同样不能放在【】内

1.3数组的下标访问

数组可以通过指针和下标来进行访问,这里我们来说下标。

数组的第一个元素是【0】,即arr【0】代表第一个元素,arr【5】代表第六个元素

我们通常通过遍历(即循环)来对数组内容进行打印,如果存储的是字符串的话,那我们只需要%s(用来打印字符串)即可。

详解C语言初阶之数组

详解C语言初阶之数组

注意:

a:通常情况下,数组名即arr是数组的首元素地址(因此对整型数组进行scanf循环输入时,直接scanf(“%d” ,arr)即可,而不用加&符号),但sizeof(arr)中的arr却代表整个数组的大小

b:sz=整个数组的大小/一个元素的大小==元素个数,arr【0】内的0改为1/2/3.....均可,但一般采用0(数组至少一个元素),防止越界访问(如一共只有四个元素,却访问了arr【5】)。

c:对字符数组(存储字符的数组)以%s进行输出时,出现错误,因为%s用来输出字符串类型,即遇到字符串磨人的‘\0'结束符后停止输出,但字符数组中没有默认的'\0'结束符,输出不能停止,超出数组空间后便出现错误,强制终止。

详解C语言初阶之数组

 

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注服务器之家的更多内容!

原文链接:https://blog.csdn.net/zlwy1314/article/details/121258642