我是C语言编程的新手,我一直在考虑这个问题很长一段时间了:
char* name;
scanf("%s", name);
Run Code Online (Sandbox Code Playgroud)
为什么这不起作用?例如,如果我输入"Hello",程序只会给我一个错误.但是上面的代码与此完全相同吗?
char* name = "Hello";
Run Code Online (Sandbox Code Playgroud) char c[] = {'a','b','c'};
int* p = &c[0];
printf("%i\n", sizeof(*p)); //Prints out 4
printf("%i\n", sizeof(*c)); //Prints out 1
Run Code Online (Sandbox Code Playgroud)
我对这部分代码非常困惑.p和c都表示第0个索引处的数组c的地址.但是为什么sizeof(*p)打印4?不应该是1吗?