首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

结构体成员为数组,该怎么初始化

2012-03-13 
结构体成员为数组,该如何初始化typedef struct ABCD_STRU{char A[16]char B[16]char C[16]char D[16]}

结构体成员为数组,该如何初始化
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”);
这样操作有问题吗?

[解决办法]

C/C++ code
#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;}
[解决办法]
探讨
C/C++ code
strcpy(ABCD.A, “0000000000000000”);
strcpy(ABCD.B, “0000000000000000”);
strcpy(ABCD.C, “0000000000000000”);
strcpy(ABCD.D, “0000000000000000”);
//应改为
strcpy(ABCD.A,"000000000000000");……

热点排行