当结构体里有数组变量时,该如何进行初始化呢?如:
struct Test
{
int index;
int value;
int array[2];
char *ptr;
};
记住一个规则:把数组或结构体当成一个整体,然后这个整体就用一个{}进行初始化即可。
如:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct Test
{
int index;
int value;
int array[2];
char *ptr;
};
int main(void)
{
char *p = (char*)malloc(12);
struct Test t = {1, 0, {100, 200}, p};
memcpy(t.ptr, "aaaa", 12);
t.ptr[12] = '\0';
printf("t.index = %d, t.value = %d, t.array[0] = %d, t.array[1] = %d, t.ptr = %s\n",
t.index, t.value, t.array[0], t.array[1], t.ptr);
return 0;
}