字符串本质
1. 完整例子
| 1 | #include <stdio.h> |
| 2 | |
| 3 | int main(void) { |
| 4 | char s1[] = "hi"; // 可改:'h','i','\0' |
| 5 | const char *s2 = "hi"; // 指向字面量,不应改 |
| 6 | printf("%s\n", s1); |
| 7 | printf("%s\n", s2); |
| 8 | printf("sizeof s1=%zu\n", sizeof(s1)); // 3 |
| 9 | return 0; |
| 10 | } |
2. 拆解
- "hi" 实际占 3 字节:h i \0
- printf("%s") 打印到 \0 为止
- 字符串长度(不含 \0)与数组容量不是一回事