#include<iostream> #include<string> using namespace std; struct m{ int a; string b; }; int main(void){ int i,j; int a[10]; char b[10]; char *e,*f; m k[10]; k[0]=k[1]; // e=f; // b[0]=b[1]; // a[0]=a[1]; // i=j; if(1) cout<<"hello world!"<<endl; return 0; }
这段代码中,我创建了结构体数组k[10],而我并没有对结构体数组进行赋值,但k[0]=k[1]确可以顺利执行。而其他变量和数组不能进行这种操作。
后来上网查询,我还发现了结构体的另一件神奇的事——可以直接对数组赋值;

这样对b赋值会报错;
但是加入结构体之后;

可以直接赋值,并可以正确输出数组值。