C语言---Day8
17、字符串
---字符串是使用空字符 \0 结尾的一维字符数组,\0 是用于标记字符串的结束;空字符NULL是一个数值为0的控制字符,\0是转义字符;
---不需要把 null 字符放在字符串常量的末尾,C 编译器会在初始化数组时,自动把 \0 放在字符串的末尾
// 打印字符串 int main() { char site[7] = { 'R', 'U', 'N', 'O', 'O', 'B', '\0' }; printf("打印字符串: %s\n", site); // 打印字符串: RUNOOB char str[] = "hello world"; // 栈区字符串 char* p = str; printf("%s\n", p); // hello world printf("%c\n", *p); // h printf("%c\n", *(p+1)); // e return 0; }
---字符指针作为函数参数
// 计算字符串有效长度 // 1. 数组 int getLength(char* ch) { int i = 0; while (ch[i] != '\0') { i++; } return i; } // 2. 指针 int getLength1(char* ch) { char* temp = ch; while (*temp) temp++; return temp - ch; } int main() { char ch[] = "hello world"; int len = getLength(ch); printf("len = %d\n", len); // len = 11 int len1 = getLength1(ch); printf("len1 = %d\n", len1); // len1 = 11 return 0; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构