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; }