结构名能否直接赋值, 请看??
//做一个程序时偶然用到了结构名相互赋值,发现后觉得有问题,觉得是否应该用指针,但调试
//通过了,于是做了这个小测试,竟发现无问题.现在的疑惑是c允不允许如此?
//验证结构是否可以用名直接相互赋值
//此验证可以
//数组名是不可以的, 那么结构为什么可以?
//是c允许还是编译器的原因, 在VC++6.0上调试通过运行均无问题?
#include <stdio.h>
struct student
{
int num;
char spell;
double a;
double b;
char spe;
char as;
};
int main()
{
student student1 = {1, 'a', 0.2, 0.02, 'c', 'b'}, student2;
student2 = student1; //此处直接用名赋值, 并成功
printf("%d %c %f %f\n", student2.num, student2.spell, student2.a, student2.b, student2.spe);
printf("%c, %c\n", student2.spe, student2.as);
return 0;
}