清华计算机技术学院 |52 ~ 61节
1️⃣字符串的含义
为了判定字符串结束,结束的标志。方便处理字符串。
2️⃣字符串的保存及定义
int(整型变量)可以存放字符,以他的ASII码形式(字符和整形数字的ASII码有重合部分)。所以说字符也是一个特殊的整数。
3️⃣字符串的初始化和清理
1. 结尾没有 \0 就不是字符串,可称之为字符数组。
2. sizeof()用于计算内存。
3. 每一个内存空间都有自己的地址名。
4️⃣清空和计算长度函数
❗️使用前必须导入 #include <stdio.h> 头文件
❤️memset字符串清理函数(内存赋值函数)
memset(数组名,要清理内存使用的数据,清理的字节数)。用于清空字符串,字符串初始化函数。
🧡strlen字符串长度函数
strlen(要计算的字符数组的名字),数组内必须存放一个完整的字符串(即结尾为/0),不然会出现问题
和setof的区别:setof求内存大小,strlen求字符串长度(只能求字符串)。
char str2[] = "Hello, World!";
long nLength = strlen(str2);
5️⃣输入输出
1. %3s:表示有效的读取到3个个数(3的数字可变)
2. 用scanf 输入字符时,数组名前要加取地址符&
6️⃣其他函数
❤️gets,puts 字符输入输出函数
1. gets(字符数组名)
2. puts(字符数组名||字符串常量)
🧡printf注意事项
💛strcmp()字符串比较函数
strcmp(可以是字符串常量也可以是以/0结束的字符序列,字符串常量或字符数组):两个参数,只要是合法的字符串结构就行。
💚strcpy()字符串复制函数
strcpy(1,2):两个参数
1.可变的字符数组,内存大小足够大,足以容下第二个字符串。
2.常量字符串或字符数组(/0结尾)
💚strncpy()字符串复制函数加强版
三个参数,相比strcpy()多了第三个参数。
🩵strcat()字符串拼接函数
1. 注意拼接去的字符串内存长度要够。是把第二个字符数组放到第一个字符数组内存里面去。
2. 第一个参数内存要足够大,且是字符数组,不能是字符常量。