结构体里数组的初始化

当结构体里有数组变量时,该如何进行初始化呢?如:

struct Test
{
	int index;
	int value;
	int array[2];
	char *ptr;
};

记住一个规则:把数组或结构体当成一个整体,然后这个整体就用一个{}进行初始化即可。

如:

#include 
#include 
#include 

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;

}

结构体里数组的初始化_第1张图片

 

你可能感兴趣的:(c/c++,c语言)