c语⾔中的结构体定义和常见⽤法
1、结构体简述和概念
结构体是C语⾔中⼀种重要的数据类型,该数据类型由⼀组称为成员(或称为域,或称为元素)的不同数据组成,其中每个成员可以具有不同的类型。结构体通常⽤来表⽰类型不同但是⼜相关的若⼲数据。结构体类型不是由系统定义好的,⽽是需要程序设计者⾃⼰定义的。C语⾔提供了关键字struct来标识所定义的结构体类型。
2、结构体的定义
tag 是结构体标签。
member-list 是标准的变量定义,⽐如 int i; 或者 float f,或者其他有效的变量定义,定义成员之间⽤分号隔开,成员名可以和程序中变量名相同。
variable-list 结构变量,定义在结构的末尾,最后⼀个分号“;”之前,您可以指定⼀个或多个结构变量。
3、结构体变量以及使⽤形式
结构体变量是不同数据类型的若⼲数据的集合体。在程序中使⽤结构体变量时,⼀般情况下不能把它作为⼀个整体参加数据处理,参见运算和操作的是结构体变量的各个成员的项数据。
结构体变量成员表⽰形式如下:结构体变量名.成员名。
定义了不同的结构体变量,赋值⽅式不同,字符串采⽤strcpy函数、int等变量直接等于即可。除此之外还可以引⽤结构体中的变量成员地址以及成员元素。例如:引⽤结构体变量成员的⾸地址&worker1.name,引⽤结构体变量成员第⼆个字符worker.name[1],引⽤结构体变量的⾸地址&worker1。
结构体变量可以进⾏赋值运算。在数组中,数组是不能彼此赋值的,结构体变量可以相互赋值。同⼀结构体类型的结构体变量可以互相赋值。
结构体的成员还是结构体,表⽰形式如下:a.b.c。
4、结构体变量⼤⼩
⼀个结构体变量占⽤的内存的实际⼤⼩,可以⽤sizeof函数求出,运算表达式为:sizeof(运算量),求出结构体变量所占内存空间的字节数。eg: sizeof(struct tag) 或 sizeof(tag)。
5、结构体类型特点
第⼀、结构体类型是⽤户⾃⼰设计构造的;
第⼆、它由若⼲个不同的基本数据类型的数据组成;c语言struct用法例子
第三、他属于C语⾔的⼀种数据类型,与整形、实型相当。因此定义时不分配空间,只有⽤它定义变量时才分配空间。
6、结构体数组的定义
先定义结构体类型,再定义结构体数组,并定义结构体变量,如下:
struct Student
{
char name[20];
int count;
}leader[3] = {"Li",0,"zhang",0,"sun",0 };
求数组内有⼏组结构体成员:sizeof(leader)/sizeof(leader[0]);
7、结构体数组
指向结构体对象的指针变量既可以指向结构体变量,也可以指向结构体数组中的元素。
struct Student
{
int num;
char name[20];
char sex;
} s1[3];
struct Student *p;
指针可以指向数组,代码如下:p = s1; p = &s1[0]; 指针移动p++ 移动⼀个结构体字节⼤⼩;
指针访问成员⽅式:(*p).num  p->num。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。