将数组放到结构体中,直接使用“=”就能将数组中的值全部拷贝到其他相同类型的数组中。
#include <stdio.h> struct array_tag{ int a[10]; }; int main(void){ struct array_tag m = {{1,2,3,4,5,6,7,8,9,0}}; int i; for(i=0;i<10;i++){ printf("%d ",m.a[i]); } printf("\n"); struct array_tag n = m; for(i=0;i<10;i++){ printf("%d ",n.a[i]); } printf("\n"); return 0; }
1 2 3 4 5 6 7 8 9 0
1 2 3 4 5 6 7 8 9 0
注意:如果结构体中包含指针,则意味着任何指针成员的副本都和原指针指向同一地方(浅拷贝)。换言之,任何指针指向的
内容都没有复制。