C语言中如何详细定义和初始化字符数组?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2425个文字,预计阅读时间需要10分钟。
字符串的存储方式有字符数组和字符指针,我们先来看看字符数组。因为字符串是由多个字符组成的序列,所以存储一个字符串,可以先把它成一个个字符,然后分别存储。
因为字符串是由多个字符组成的序列,所以要想存储一个字符串,可以先把它拆成一个个字符,然后分别对这些字符进行存储,即通过字符数组存储。字符数组是一个数组,且是存储字符的数组,该数组中一个元素存放字符串的一个字符。
字符数组的定义
因为字符数组首先是一个数组,所以前面讲的数组内容通通都适用。其次它是存放字符的数组,即数组的类型是 char 型。比如:
char name[10];
表示定义了 10 字节的连续内存空间。
1) 如果字符串的长度大于 10,那么就存在语法错误。这里需要注意的是,这里指的“字符串的长度”包括最后的 '\0'。也就是说,虽然系统会自动在字符串的结尾加 '\0',但它不会自动为 '\0' 开辟内存空间。所以在定义数组长度的时候一定要考虑 '\0'。
2) 如果字符串的长度小于数组的长度,则只将字符串中的字符赋给数组中前面的元素,剩下的内存空间系统会自动用 \0' 填充。
本文共计2425个文字,预计阅读时间需要10分钟。
字符串的存储方式有字符数组和字符指针,我们先来看看字符数组。因为字符串是由多个字符组成的序列,所以存储一个字符串,可以先把它成一个个字符,然后分别存储。
因为字符串是由多个字符组成的序列,所以要想存储一个字符串,可以先把它拆成一个个字符,然后分别对这些字符进行存储,即通过字符数组存储。字符数组是一个数组,且是存储字符的数组,该数组中一个元素存放字符串的一个字符。
字符数组的定义
因为字符数组首先是一个数组,所以前面讲的数组内容通通都适用。其次它是存放字符的数组,即数组的类型是 char 型。比如:
char name[10];
表示定义了 10 字节的连续内存空间。
1) 如果字符串的长度大于 10,那么就存在语法错误。这里需要注意的是,这里指的“字符串的长度”包括最后的 '\0'。也就是说,虽然系统会自动在字符串的结尾加 '\0',但它不会自动为 '\0' 开辟内存空间。所以在定义数组长度的时候一定要考虑 '\0'。
2) 如果字符串的长度小于数组的长度,则只将字符串中的字符赋给数组中前面的元素,剩下的内存空间系统会自动用 \0' 填充。

