type
status
date
slug
summary
tags
category
icon
password
1、字符数组的初始化
字符数组的初始化有很多中方式,和整形数组的初始化一样。唯一不一样的是,字符数组可以使用字符串对其进行初始化。例如:
需要注意的是,我们虽然输入的是
"hello"
五位字符,但是代码执行时会往字符数组中保存六个字符,既{ 'h', 'e', 'l', 'l', 'o', '\000' }
,最后一个字符是结束符。所以如果我们指定需要输入长度为5
的字符串时,字符数组的长度应该定为6
,例如:这使得我们在输入和输出时,要格外注意字符串的长度。
2、字符数组的循环使用
在使用数组时,有时我们需要对数组做循环使用,同时,想在数组的结束符位置停止循环。我们可以这样编写代码:
3、字符数组的输入
使用
scanf()
字符数组输入时,他只会读取到空格前的字符,不能将输入的一整行全部读取,例如:我们输入:
"hello world"
,变量a读取到的是"hello"
,所以我们要带空格的输入整行的字符串,接需要用到一个新的方法:gets()
,它可以读取整行的输入。有输入自然要有输出的方法:puts()
。使用方法如下:另外,还需要注意以下几点:
- 在使用字符数组时,一定要留出一个字符的空间存储结束符;
- 字符数组可以使用字符数组名访问其元素,也可以使用指针访问;
- 字符数组可以作为函数参数传递,但需要注意数组的长度;
- 字符数组可以使用各种字符串函数,如
strcpy()
、strlen()
等。
总之,字符数组在 C 语言中是非常常见和重要的数据类型,需要我们熟练掌握。
4、字符串操作函数:
C语言提供了一些用于处理字符数组的标准库函数,例如:
strlen(str)
:返回字符串的长度(不包括空字符)。
strcpy(dest, src)
:将源字符串复制到目标字符串。- 将
src
复制到dest
中
strcat(dest, src)
:将源字符串追加到目标字符串的末尾。- 将
src
添加到dest
末尾
strcmp(str1, str2)
:比较两个字符串,返回一个整数表示它们的大小关系。- 如果
str1
和str2
相等,则返回值为0。 - 如果
str1
小于str2
,则返回值小于0。 - 如果
str1
大于str2
,则返回值大于0。
其中:
strchr(str, ch)
:在字符串中查找指定字符,并返回第一次出现该字符的位置。
strstr(str1, str2)
:在字符串中查找子字符串,并返回第一次出现子字符串的位置。
这些只是char数组的基本用法,还有很多其他的操作和技巧可以应用于char数组。
- 作者:Rainvice
- 链接:https://rainvice.com/article/7ddc4499-ef4e-4528-952b-069a6ee5b8d1
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。