字符串
- 概念:用来存储
多个
有序
字符
,其实就是数组
- 定义
// 位于 双引号 中,在内存中以 \0 结束 1. char name[] = "秦子阳"; 2. char nameOne[] = {'l', 'u', 'c', 'k', '\0'} ; 3. // \0 对应 ASCII 0 char nameTwo[] = {'l', 'u', 'c', 'k', 0}; char nameThree[9] = {'l', 'u', 'c', 'k'}; 4. 字符串数组 char names[2][10] = {"wxx", "qtt"}; char namesOne[2][10] = {{'w', 'x', 'x', '\0'}, {'q', 't', 't', '\0'}};
- 操作
- 输出
// %s,从传入的 地址 开始逐个取出元素,直到遇到 \0 位置 char name[] = {'l', 'u', 'c', 'k', '\0'}; char nameOne[] = {'w', 'x', 'x'}; printf("nameOne = %s\n", nameOne);
- 计算字符串你长度
/* 语法:strlen(const char *__s) 参数:__s,字符串 返回值:字符串长度,unsigned long 类型 */ #include <string.h> char str[] = "cool"; size_t length = strlen(str); printf("%lu\n", length );
- 拼接字符串
/* 作用:将 源字符串中的字符 拼接到 目标字符串 中 语法:strncat(char *s1, const char *s2, size_t n) 参数:s1,目标字符串;s2,源字符串;n,需要拼接字符个数 返回值:拼接之后字符串 */ #include <string.h> char str1[7] = "luck"; char str2[10] = "cool"; size_t length = sizeof(str1) / sizeof(str1[0]) - strlen(str1) - 1; strncat(str1, str2, length); printf("%s\n", str1);
- 拷贝字符串
/* 作用:将 源字符串中的字符 拷贝到 目标字符串 中; 覆盖目标字符串中原有的字符 语法:strncpy(char *dst, const char *src, size_t n) 参数:dst,目标字符串;src,源字符串;n,需要拷贝字符个数 返回值:拷贝之后字符串 */ char str1[] = "wonderful"; char str2[] = "accelerate"; size_t length = sizeof(str1) / sizeof(str1[0]) - 1; strncpy(str1, str2, length); printf("%s\n", str1);
- 比较字符串
/* 作用:对传入的字符串进行比较, 比较完毕之后会返回一个整型的值 语法:strcmp(const char *__s1, const char *__s2); 参数:__s1,比较字符串;__s2,比较字符串; 返回值:比较结果,int 类型 注意:如果返回值小于 0,则 __s1 < __s2; 如果返回值等于 0,则 __s1 == __s2; 如果返回值大于 0,则 __s1 > __s2; */ char str1[] = "aac"; char str2[] = "abc"; // 取出字符串中的每一个字符进行逐个比较,如果发现不相等就不会继续往下比较 int res = strcmp(str1, str2); printf("%i\n", res);
- 输出
网友评论