关于C字符数组和指针初始化问题
char str[20];
str = "Hello C!";
为什么这种方式不允许?
char str[20] = "Hello C!";
char *str1;
str1 = "Hello C!";
为什么这两种方式又允许? C 指针 字符数组
[解决办法]
char str[20];
str = "Hello C!";//字符串赋值操作不可以直接用==
//应该用strncpy/memcpy等函数
char str[20] = "Hello C!";
//数组初始化,只有初始化时才可以的
char *str1;
str1 = "Hello C!";
//这个是把常量字符串的首地址赋值给str1,地址赋值是可以,通过地址操作