C 语言程序设计——数组

C 语言程序设计——数组五大能力培养体系的构建数组、指针、函数,并列C语言三大重点,尤其C指针,堪称C之灵魂,从C数组开始,勤思苦练,必须多敲、搞清楚底层原理,系统设计

欢迎大家来到IT世界,在知识的湖畔探索吧!

此文带你入门C数组,认真看,必有收获

C 语言程序设计——数组

三步走战略的打法,五大能力培养体系的构建

数组、指针、函数,并列 C 语言三大重点,尤其 C 指针,堪称 C 之灵魂,从 C 数组开始,勤思苦练,必须多敲、搞清楚底层原理,系统设计,从宏观、哲学上理解 C 之精髓

强烈建议:b 站郝斌 C 视频结合着看

简单理解数组

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 的连续存储空间

数组内存分布

数组在内存中的存储

C 语言程序设计——数组

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、

数组元素的遍历

对于数组中的元素,进行不重复、无遗漏的一次性访问

C 语言程序设计——数组

A、总是从下标为 0 的元素开始遍历

B、下标总是连续变化,这意味着,对数据的遍历是连续的,不跳跃,不重复

数据存储在数组中需要满足的 3 个条件:

A、从下标为 0 的第一个元素(首元素)开始存放

B、连续存放

C、上述两个特点必须保持动态满足(意思是:无论删除还是插入数据,在删除或插入数据后,依然要满足上述两个基本条件)

对于数组的编程,主要考虑的是下标,或者可以说:玩数组就是玩下标

C 语言程序设计——数组

二维数组

C 语言程序设计——数组

2、

内存映像图

C 语言程序设计——数组

3、

二维数组赋初值

C 语言程序设计——数组
C 语言程序设计——数组

字符数组与字符串

C 语言程序设计——数组

char s[6] = “abcdef”; //语法错误,最后有一个 0 结束标志

2、

运算符:sizeof()

它是一个运算符,而非函数!!!,是一个单目运算符,其运算优先级在单目运算符中最低

C 语言程序设计——数组

C、sizeof(字符串常量)

sizeof(“abcde”) ==> 6B

其运算结果:该字符串常量在内存中所占用的字节数(该数值是字符串长度+1,这个 1B 就是 0 结束标志!)

C 语言程序设计——数组

总结:

sizeof() 是计算所占用的空间字节大小

strlen() 是计算字符串数组的长度,遇 0 则止

本篇文章仅仅是数组入门,对于数组的本质掌握是非常的关键,尤其在跟指针的结合,理解,打好基础,进阶提升

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/31524.html

(0)

相关推荐

发表回复

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

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信