字符数组内任意位置可写任意数据包括0x0,而字符串只有结束的位置有一个0x0,一但有了0x0这个数据,则字符串结束。对电脑而言只有二进制字节数组;对人脑才有字符、字符串、空字符结束符、数组等。
1、字符数组是指用来存放字符数据的数组。其定义的一般形式为:char 数组名[数据长度] 。字符数组用于存放字符或字符串,字符数组中的一个元素存放一个字符,它在内存中占用一个字节。C语言中没有字符串类型,字符串是存放在字符型数组中的。
![f6a7acfdb2a9a8cf7c493f2166a48256.png](https://i-blog.csdnimg.cn/blog_migrate/23d3d2d097028427624a1e8cb62baff0.png)
2、例:
char c[10];
c[0]='I'; c[1]=' '; c[2]='l'; c[3]='o'; c[4]='v'; c[5]='e'; c[6]=' '; c[7]='y'; c[8]='o'; c[9]='u';
以上定义了c为字符数组,包含10个元素。
由于字符型数据是以整数形式(ASCII代码)存放的,因此也可以用整型数组来存放字符数据,例如:
int c[10];
但这时每个数组元素占2个字节的内存单元,浪费存储空间。[1]
字符数组也可以是二维或多维数组,例如:
char c[5][10];
即为二维字符数组。
![f6a7acfdb2a9a8cf7c493f2166a48256.png](https://i-blog.csdnimg.cn/blog_migrate/23d3d2d097028427624a1e8cb62baff0.png)
3、字符串主要用于编程,概念说明、函数解释、用法详述见正文,这里补充一点:字符串在存储上类似字符数组,所以它每一位的单个元素都是可以提取的,如s=“abcdefghij”,则s[1]=“a”,s[10]="j",而字符串的零位正是它的长度,如s[0]=10(※上述功能Ansistring没有。),这可以给我们提供很多方便,如高精度运算时每一位都可以转化为数字存入数组。
![f6a7acfdb2a9a8cf7c493f2166a48256.png](https://i-blog.csdnimg.cn/blog_migrate/23d3d2d097028427624a1e8cb62baff0.png)
![7dfe536c01fedbbaa27def73f040a133.png](https://i-blog.csdnimg.cn/blog_migrate/1d59917937f7b5d24848bf6986615018.png)
![c0da4a11b59305f942fef5b42b9cf201.png](https://i-blog.csdnimg.cn/blog_migrate/9cfcce58efe295a95b5c239865e63e51.png)
END
『 往期推荐 』
大学生如何提高自控力,规划目标,坚持是王道
互联网行业就业前景如何?工资多少?
Java行业薪资待遇一般都多少钱?
![d754ddf109f494a7be692758452ae6c4.png](https://i-blog.csdnimg.cn/blog_migrate/e7fc9b30e2ceaefb2b48f4a5b1deb8d0.png)
![00374c0c4ca4f1d4b9dd7f8186f8ff80.png](https://i-blog.csdnimg.cn/blog_migrate/38a4a4ef541a14ff40488fae129db338.png)
![78b428fc5cbcf740057a3bc01e362cd6.png](https://i-blog.csdnimg.cn/blog_migrate/7887311ac3e96e774c0a09e6298fc08a.png)