欢迎大家来到IT世界,在知识的湖畔探索吧!
此文带你入门C数组,认真看,必有收获
三步走战略的打法,五大能力培养体系的构建
数组、指针、函数,并列 C 语言三大重点,尤其 C 指针,堪称 C 之灵魂,从 C 数组开始,勤思苦练,必须多敲、搞清楚底层原理,系统设计,从宏观、哲学上理解 C 之精髓
强烈建议:b 站郝斌 C 视频结合着看
简单理解数组
2、
理解数组定义
int ar[10]; 这只能表示存在一个拥有 10 个 int 类型的元素的数组 ar,在这条定义语句之外的其他地方,ar 不表示数组的任何一个元素,也不表示数组的所有元素,它仅仅是数组名称而已
3、
数组元素的使用
数组元素的定义、与使用,是完全不一样的
设有如下数组:int a[10];
a 数组的 10 个元素分别是:a[0],a[1], a[2]……a[9]
数组元素下标范围取值范围在[0, n)之间,其中 n 为数组元素个数,这个数组将在内存中占用 40B 的连续存储空间
数组内存分布
数组在内存中的存储
int array[5];
array 数组应该有 5 个元素:array[0]、array[1]、array[2]、array[3]、array[4]
此时,我们的考虑,array[0]、array[4] 的前面 array[-1]、后面 array[5] 是否还有内存空间,还能访问到吗?
逻辑上不存在,物理上存在!!!
数组的定义仅仅约束的是人的思想,根本无法约束计算机的行为,关于数组下标越界,只是一个传说!
C 语言编译软件是不能发现“下标越界”的错误的!这意味着:“下标越界”这种错误完全需要靠程序员非常高的编程素养来避免!
数组常见操作
1、
数组元素的遍历
对于数组中的元素,进行不重复、无遗漏的一次性访问
A、总是从下标为 0 的元素开始遍历
B、下标总是连续变化,这意味着,对数据的遍历是连续的,不跳跃,不重复
数据存储在数组中需要满足的 3 个条件:
A、从下标为 0 的第一个元素(首元素)开始存放
B、连续存放
C、上述两个特点必须保持动态满足(意思是:无论删除还是插入数据,在删除或插入数据后,依然要满足上述两个基本条件)
对于数组的编程,主要考虑的是下标,或者可以说:玩数组就是玩下标
二维数组
2、
内存映像图
3、
二维数组赋初值
字符数组与字符串
char s[6] = “abcdef”; //语法错误,最后有一个 0 结束标志
2、
运算符:sizeof()
它是一个运算符,而非函数!!!,是一个单目运算符,其运算优先级在单目运算符中最低
C、sizeof(字符串常量)
sizeof(“abcde”) ==> 6B
其运算结果:该字符串常量在内存中所占用的字节数(该数值是字符串长度+1,这个 1B 就是 0 结束标志!)
总结:
sizeof() 是计算所占用的空间字节大小
strlen() 是计算字符串数组的长度,遇 0 则止
本篇文章仅仅是数组入门,对于数组的本质掌握是非常的关键,尤其在跟指针的结合,理解,打好基础,进阶提升
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/31524.html