#include <stdio.h>
#include <string.h>
void fun(char c[])
{ printf("%d\n" , sizeof(c)); }
void fun2(char &c)
{ printf("%d\n" , sizeof(c)); }
void fun3(char(&c)[9])
{ printf("%d\n" , sizeof(c)); }
int main()
{
char c[] = "12345678";
// char *c = "12345678";
printf("%d\n" , sizeof(c));
fun(c);
fun2(*c);
fun3(c);
return 0;
}
char c[] = "12345678"; // 分配9个空间,然后赋值,"1234" "5678" '\0' 分三次赋值
char *c = "12345678"; // 定义一个指针,分配四个空间存放指针地址,把指针指向了常量字符串
c[],开始的时候内存里是乱数,然后再初始化成 "12345678"
*c, 开始是个野指针,指向一个随机地址,地址里存的是乱数,然后经过初始化,指向了常量字符串,可以看到常量字符串里的内容"12345678"