对C语言数组的总结
数组(Array)是一系列相同类型的数据的集合,可以是一维的、二维的、多维的;最常用的是一维数组和二维数组,多维数组较少用到。
2) 访问数组元素的格式为:
3) 可以对数组中的单个元素赋值,也可以整体赋值,例如:
4) 字符串是本章的重点内容,大家要特别注意字符串结束标志
本章我们讲解了最简单的查找和排序算法,分别是顺序查找(遍历数组查找某个元素)和冒泡排序,这些都是最基本的,有兴趣的读者也可以深入研究,下面我给列出了几篇文章:
对数组的总结
1) 数组的定义格式为:type arrayName[length]type 为数据类型,arrayName 为数组名,length 为数组长度。 需要注意的是:
- 数组长度 length 最好是常量表达式,例如 10、20*4 等,这样在所有编译器下都能运行通过;如果 length 中包含了变量,例如 n、4*m 等,在某些编译器下就会报错,我们已在《C语言变长数组:使用变量指明数组的长度》一节专门讨论了这点。
- 数组是一个整体,它的内存是连续的;也就是说,数组元素之间是相互挨着的,彼此之间没有一点点缝隙。
- 一般情况下,数组名会转换为数组的地址,需要使用地址的地方,直接使用数组名即可。
2) 访问数组元素的格式为:
arrayName[index]index 为数组下标。注意 index 的值必须大于等于零,并且小于数组长度,否则会发生数组越界,出现意想不到的错误,我们已在《C语言数组的越界和溢出》一节重点讨论过。
3) 可以对数组中的单个元素赋值,也可以整体赋值,例如:
// 对单个元素赋值 int a[3]; a[0] = 3; a[1] = 100; a[2] = 34; // 整体赋值(不指明数组长度) float b[] = { 23.3, 100.00, 10, 0.34 }; // 整体赋值(指明数组长度) int m[10] = { 100, 30, 234 }; // 字符数组赋值 char str1[] = "https://www.xinbaoku.com"; // 将数组所有元素都初始化为0 int arr[10] = {0}; char str2[20] = {0};
4) 字符串是本章的重点内容,大家要特别注意字符串结束标志
'\0'
,各种字符串处理函数在定位字符串时都把'\0'
作为结尾,没有'\0'
就到达不了字符串的结尾。
关于查找和排序
学完了数组,有两项内容大家可以深入研究了,分别是查找(Search)和排序(Sort),它们在实际开发中都经常使用,比如:- 给你 10 个打乱顺序的整数,要能够按照从小到大或者从大到小的顺序输出;
- 给定一个字符串 str1,以及一个子串 str2,要能够判断 str2 是否在 str1 中。
本章我们讲解了最简单的查找和排序算法,分别是顺序查找(遍历数组查找某个元素)和冒泡排序,这些都是最基本的,有兴趣的读者也可以深入研究,下面我给列出了几篇文章:
所有教程
- C语言入门
- C语言编译器
- C语言项目案例
- 数据结构
- C++
- STL
- C++11
- socket
- GCC
- GDB
- Makefile
- OpenCV
- Qt教程
- Unity 3D
- UE4
- 游戏引擎
- Python
- Python并发编程
- TensorFlow
- Django
- NumPy
- Linux
- Shell
- Java教程
- 设计模式
- Java Swing
- Servlet
- JSP教程
- Struts2
- Maven
- Spring
- Spring MVC
- Spring Boot
- Spring Cloud
- Hibernate
- Mybatis
- MySQL教程
- MySQL函数
- NoSQL
- Redis
- MongoDB
- HBase
- Go语言
- C#
- MATLAB
- JavaScript
- Bootstrap
- HTML
- CSS教程
- PHP
- 汇编语言
- TCP/IP
- vi命令
- Android教程
- 区块链
- Docker
- 大数据
- 云计算