字符函数和字符串函数的理解

📅 2026/8/20 15:24:09
字符函数和字符串函数的理解
字符函数字符函数分为 字符分类函数 和 字符转换函数字符分类函数这些函数的使用都需要包含⼀个头文件是ctype.h它的参数满足它需要的字符条件就返回真(非0),否则返回假(0)字符转换函数tolower将参数传进去的大写字母转小写toupper将参数传进去的小写字母转大写这两个函数的使用也需要包含⼀个头文件是ctype.h传进去的如果不满足条件,那么返回的还是原先传进去的字符转义字符的理解与复习(补充) \ ? :在书写连续多个问号时使用,防止他们被解析成三字母词,在新的编译器上没法验证了。??)=] \' :用于表示字符常量 ' \" :用于表示一个字符串内部的双引号 \\ :用于表示一个反斜杠,防止它被解释为一个转义序列符。 \a :警报,这会使得终端发出警报声或出现闪烁,或者两者同时发生。\b :退格键,光标回退一个字符,但不删除字符。 \f :换页符,光标移到下一页。在现代系统上,这已经反映不出来了,行为改成类似于 \v\n :换行符。 \r :回车符,光标移到同一行的开头。 \t :制表符,光标移到下一个水平制表位,通常是下一个8的倍数。 \v :垂直分隔符,光标移到下一个垂直制表位,通常是下一行的同一列。 \ddd :ddd表示1~3个八进制的数字。 如: \130 表示字符X。 \xdd :dd表示2个十六进制数字。 如: \x30 表示字符0。解析:转义字符中的 \ 的作用是 与原有字符结合增加新的功能 或者 去除原有字符的功能 由于\ 自己本身具有功能,想要输出的话就要输出 \\strlen的使用和模拟实现1.字符串以'\0'作为结束标志,strlen函数返回的是在字符串中'\0'前面出现的字符个数(不包含 '\0')2.参数指向的字符串必须要以'\0'结束。3.注意函数的返回值为size_t,是无符号的( 易错 )4.包含头文件string.h//指针解引用 //指针+整数 size_t my_strlen(const char * str) { size_t count = 0;//计数器,统计字符串的长度 assert(str != NULL); while (*str != '\0') { count++; str++; } return count; } //指针-指针--- 地址-地址 //得到的指针和指针之间元素的个数 size_t my_strlen(const char* str) { const char* start = str; while (*str != '\0') { str++; } return str - start; } //递归的思想:大事化小 size_t my_strlen(const char* str) { if (*str != '\0') return 1 + my_strlen(str + 1); else return 0; } int main() { char arr[] = "abc"; size_t len = my_strlen(arr); printf("%zd\n", len); return 0; }strcpy的使用和模拟实现