C语言中一个有趣的现象,有解释否?
#include <stdio.h>typedef struct _string
{
char ch[6];
}string, *pstring;
int main()
{
char s2[4] = "vfp";
char s3[4];
string s = {"hello"};
string s1;
//s3 = s2; 这句是不能编译的,也就是说不能将字符串附给另一个字符数组。
//只能用strcpy??看下面的
puts(s3);
s1 = s; //在结构中的字符数组居然可以这样被附值,也就是说结构变量附值的时候。
puts(s1.ch); //这里将输出"hello";
return 0;
}
看蓝色部分的问题,能解释否?