C语言结构体——指定初始化

Posted Li-Yongjun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言结构体——指定初始化相关的知识,希望对你有一定的参考价值。

概述

C 语言结构体指定初始化(Designated Initializer)实现上有两种方式:
一种是通过点号加赋值符号实现,即.fieldname = value
另一种是通过冒号实现,即fieldname : value

实例

#include <stdio.h>
#include <stdlib.h>

struct _box 
	int length;
	int width;
	int heigth;
;

int main(int argc, char *argv[])

	struct _box box1 = 
		width : 19,
	;

	printf("box1.length = %d\\n", box1.length);
	printf("box1.width = %d\\n", box1.width);
	printf("box1.heigth = %d\\n", box1.heigth);

	struct _box box2 = 
		.heigth = 33,
	;

	printf("box2.length = %d\\n", box2.length);
	printf("box2.width = %d\\n", box2.width);
	printf("box2.heigth = %d\\n", box2.heigth);

	return EXIT_SUCCESS;

box1.length = 0
box1.width = 19
box1.heigth = 0
box2.length = 0
box2.width = 0
box2.heigth = 33

以上是关于C语言结构体——指定初始化的主要内容,如果未能解决你的问题,请参考以下文章

C语言结构体——指定初始化

C语言面试干货——指定结构体初始化器(GCC手册解析)

C语言面试干货——指定结构体初始化器(GCC手册解析)

C语言中,使用一个结构体之前,要用memset把各个位清零???

C语言结构体里的结构体怎么初始化

C语言结构体初始化问题