结构体里数组的初始化

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

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;

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值