C sizeof()奇怪的例子

时间:2018-12-03 22:28:55

标签: c arrays string char sizeof

我在理解以下代码的输出时遇到问题:

#include<stdio.h>

void show(char *);

int main()
{
char strin[] = "Hi Stackoverflow";
printf("%s\n", strin);
printf("%lu\n", sizeof(strin));

show(strin);

return 0;
}

void show(char* message)
{
printf("%s\n", message);
printf("%lu\n", sizeof(message));
}

输出:

Hi Stackoverflow                                                                            
17                                                                                            
Hi Stackoverflow                                                                                              
8 

无论我们在“”之间加上什么,第二个值始终为8。有人知道为什么吗?

0 个答案:

没有答案