结构体成员为数组,该如何初始化
typedef struct ABCD_STRU
{
char A[16];
char B[16];
char C[16];
char D[16];
}ABCD;
我想把该结构体成员都初始化为“0000000000000000”该如何做?
strcpy(ABCD.A, “0000000000000000”);
strcpy(ABCD.B, “0000000000000000”);
strcpy(ABCD.C, “0000000000000000”);
strcpy(ABCD.D, “0000000000000000”);
这样操作有问题吗?
[解决办法]
#include <stdlib.h>#include <stdio.h>#include <string.h>typedef struct{ char A[16], B[16], C[16], D[16];}ABCD;int main(){ ABCD test; memset(&test, '0', sizeof(test));#define end(name) test.name[15] end(A) = end(B) = end(C) = end(D) = '\0';#undef end#define str(name) test.name printf("%s %s %s %s\n", str(A), str(B), str(C), str(D)); return 0;}
[解决办法]