四、字符数组(字符串)的使用
00 分钟
2023-8-10
2023-9-15
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):比较两个字符串,返回一个整数表示它们的大小关系。
    • 其中:
    • 如果str1str2相等,则返回值为0。
    • 如果str1小于str2,则返回值小于0。
    • 如果str1大于str2,则返回值大于0。
  • strchr(str, ch):在字符串中查找指定字符,并返回第一次出现该字符的位置。
  • strstr(str1, str2):在字符串中查找子字符串,并返回第一次出现子字符串的位置。
这些只是char数组的基本用法,还有很多其他的操作和技巧可以应用于char数组。
上一篇
五、指针的概念与使用
下一篇
三、数组的访问越界和传递

评论
Loading...