C语言 结构体的定义与理解

结构体是一种构造数据类型,可以理解成由不同类型的数据组成的一个自定义数据类型。


结构体定义要在main的上方定义。
结构体定义格式:
struct 结构体名{//<-结构体名可以不写,不写则会成为无名结构体
类型 成员名;
类型 成员名;

}结构体变量1,结构体变量2,结构体变量3,…;
例:

struct nameinfo{
	char name[50];
	char phone[100];
	int num;
};

结构体内部还可以嵌套结构体


定义的结构体不会在内存中创建,只有在main中声明的时候才会创建

在main中声明结构体: struct 结构体 结构体变量;
例:

struct nameinfo a;

可以把 struct nameinfo当作一个类型。


也可以在main的外面声明结构体变量。

struct nameinfo{
	char name[50];
	char phone[100];
	int num;
}a,b,c,d;

给结构体变量的成员赋值:
结构体变量.成员名 = 值;
例:

a.num = 100;.

如果结构体的成员是char 或 char *类型的字符串,要先申请内存,在要使用strcpy或者sprintf来赋值。如果是char []类型则不用申请内存,直接使用strcpy或sprintf赋值。
例:

strcpy(a.name,"xiaoming");

注意:结构体的内部如果嵌套了结构体,但是没有创建子结构体的实例,在定义结构体的内部变量会被当成母结构体的成员变量。

猜你喜欢

转载自blog.csdn.net/u013594490/article/details/93770473
今日推荐