找回密码
 立即注册
首页 业界区 安全 C/C++字符串

C/C++字符串

怃膝镁 2025-6-14 21:07:00
C语言字符串

C 语言中的 “string” 并不是一种内建类型,而是一种以 '\0'(null 字符)结尾的字符数组,用来表示字符串。C 语言的字符串处理完全是基于字符数组和标准库函数的组合实现的,理解起来要靠对内存、指针和字符操作的深入掌握。
一、C语言字符串的本质

定义

C 语言的字符串是 一串字符 + 结尾的 '\0'(null 终止符),用于标记字符串的结束。
  1. char str[] = "hello";
复制代码
这其实是一个字符数组,相当于:
  1. char str[6] = { 'h', 'e', 'l', 'l', 'o', '\0' };
复制代码
✅ 存储结构图

字符hello\0下标012345二、定义字符串的几种方式

1. 使用字符数组
  1. char s1[] = "hello";    // 推荐方式,会自动添加 '\0'
复制代码
2. 使用指针指向字符串常量(只读)
  1. const char* s2 = "world";  // 指向只读区域,不能修改 *s2
复制代码
3. 自定义字符数组初始化
  1. char s3[10] = {'h','e','l','l','o','\0'};
复制代码
三、常用字符串处理函数(来自 )

[table][tr]函数功能示例[/tr][tr][td]strlen(s)[/td][td]获取长度(不含\0)[/td][td]strlen("abc") == 3[/td][/tr][tr][td]strcpy(dest, src)[/td][td]拷贝字符串[/td][td]strcpy(a, b);[/td][/tr][tr][td]strncpy(dest, src, n)[/td][td]拷贝 n 字符[/td][td]strncpy(a, b, 5);[/td][/tr][tr][td]strcat(dest, src)[/td][td]拼接字符串[/td][td]strcat(a, b);[/td][/tr][tr][td]strcmp(a, b)[/td][td]比较字符串[/td][td]strcmp("a","b")
您需要登录后才可以回帖 登录 | 立即注册