详解C语言初阶之数组
目录
- 1.数组
- 1.1数组的概念
- 1.2数组的定义
- a:完全初始化
- b:不完全初始化
- c:给定元素个数
- d:不给定元素个数
- 1.3数组的下标访问
- 总结
1.数组
1.1数组的概念
所谓数组(array),就是具有相同数据类型的集合,存放的数据类型即数组本身的类型。
可以发现存储的都是int型
补充 :调试小技巧
调试窗口 (按F5进行调试,打开菜单栏中的调试—窗口—监视—随便打开一个监视窗口,输入arr,将程序运行过arr的初始化即可观察到arr内部进行的初始化)
1.2数组的定义
a:完全初始化
数组内部存储了4个int类型的数据,分别是1,2,3,4
b:不完全初始化
要求开辟四个空间存储数据,但只对第一个进行了初始化,默认后面三个均为0
c:给定元素个数
给定元素个数后,可以是完全初始化,也可以是部分初始化。
d:不给定元素个数
自动给四个元素分配空间,实际上中括号内还是4
注意:
a
:不给定元素数据一律视为完全初始化
b
:数组内部元素个数至少为1
c
:[]内部必须是整型常量(c90 标准)——c99标准支持其他类型(linux),但我们主流仍旧采用c90标准,同样注意,我们一般所用的const定义的常量叫作常变量,本质并不算常量,因此该类型数据同样不能放在【】内
1.3数组的下标访问
数组可以通过指针和下标来进行访问,这里我们来说下标。
数组的第一个元素是【0】,即arr【0】代表第一个元素,arr【5】代表第六个元素
我们通常通过遍历(即循环)来对数组内容进行打印,如果存储的是字符串的话,那我们只需要%s(用来打印字符串)即可。
注意:
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'结束符,输出不能停止,超出数组空间后便出现错误,强制终止。
总结
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注海外IDC网的更多内容!
【本文来源:http://www.1234xp.coml转载请保留出处】