1、C语言中结构体
结构体简介
-在实际的处理对象中,有许多信息是由多个不同类型数组合一起进行描述,而且这些不同类型的数据是互相联系组成了一个有机的整体。此时,就要用到一种新的构造类型数据--结构体(srtucture),简称结构-结构体的使用为处理复杂的数据结构(如动态数据结构等),提供了有效的手段,且他们为函数间传递不同类型的数据提供了方便。
结构体概念
-结构体是用户自定义的新数据类型,有点像高级语言里的对像一样-例如:定义一个人的结构体,那么这个结构体就有 身高、年龄、性别等定义一个结构体类型的一般形式为struct 结构名{ 数据类型 成员名1; ... 数据类型 成员名n;}例如:一个人的结构体#include <stdio.h>#include <string.h>#define N 10struct person{ int age; int sex; char name[N];} p ;int main(){ struct person p1,p2; p1.age =25; p1.sex =1; strcpy(p1.name,"copy"); printf("%d %d,%sn",p1.age,p1.sex,p1.name); return 0;}结构体大小
大小:一个结构体变量占用内存的实际大小,也能用sizeof求出sizeof(运算量)例如:sizeof(person p1) sizeof(p2)2、C语言结构体数组
结构体数组:是指数组中的每个元bai素都是一个结构体
三种方式
一、先定义结构体类型,再定义结构体数组struct 结构体名{ 成员表表;};struct 结构体名例如:struct person{ int age; ing sex; char name[10];};sturct person p[3];二、在定义结构体同时定义数组 struct 结构体名{ 成员表表;} 数组名[元素个数];例如: { int age; ing sex; char name[10];}p[3];三、直接定义结构体数组 struct { 成员表表;};例如: { int age; ing sex; char name[10]; }p[3];#include <stdio.h>#include <string.h>#define N 10struct person{ int age; int sex; char name[N];} p[2] ;int main(){ p[1].age =10; p[1].sex =1; strcpy(p[1].name,"copy"); printf("%d %d,%sn",p[1].age,p[1].sex,p[1].name); return 0;}