【发布时间】:2019-05-20 18:12:29
【问题描述】:
对于同一个字符串值,我在 sizeof 上得到不同的值。
当我在 C 中运行以下代码时:
char str[] = "November";
char *s = "November";
printf(" str[] = %ld\n",sizeof(str));
printf(" *s = %ld\n",sizeof(s));
预期输出:
str[] = 9
*s = 9
实际输出:
str[] = 9
*s = 8
究竟发生了什么?
【问题讨论】:
-
数组大小与指针大小。
标签: c arrays string pointers sizeof