1.结构体
1).定义
用户自定义的数据类型,结构体中可以包含若干不同数据类型的成员变量,也可以数据类型相同,使这些数据组合起来反映一个信息。
2).格式
struct 结构体名 {
数据类型 成员变量名;
数据类型 成员变量名;
.
.
.
数据类型 成员变量名;
};
3).结构体变量
-
概念:通过结构体类型定义的变量
-
格式:
-
先定义结构体,再定义结构体变量
struct 结构体名 变量名;
struct student { int id; int age; float score; int number; }; struct student stu1; -
定义结构体的同时定义结构体变量
struct student { int id; int age; float score; int number; }stu,stu1; -
缺省结构体名定义变量
struct { int id; int age; float score; int number; }stu1;
-
4).赋值
-
定义的同时用{}赋值
struct student { int id; int age; float score; int number; }; struct student stu1= {1,23,60,123456}; -
定义完变量,单独赋值
struct student { int id; int age; float score; int number; }; struct student stu1; stu1.id = 2; stu1.age = 23; -
点等法赋值
struct student { int id; int age; float score; int number; }; struct student stu1={ .id = 2; .age = 20; }
5).访问
通过 . 访问:变量名.成员变量
补充:typedef int size_t;
-
定义结构体同时重定义
typedef struct student { int id; int age; float score; int number; }STU; STU stu1; -
先定义结构体,再重定义
struct student { int id; int age; float score; int number; }; typedef struct student STU;
2.结构体数组
-
概念:具有相同结构体类型的变量组成结构体数组
-
定义的格式:
-
定义结构体的同时,定义数组
struct student { int id; int age; float score; int number; }stu[5]; -
先定义结构体,再定义数组
struct student { int id; int age; float score; int number; }; struct student stu[5];
-
-
赋值
-
定义数组的同时赋值
struct student { int id; int age; float score; int number; }; struct student stu[5] = { {1,20,30.2},{2,22,40.6},{3,5,10},{4,56,32},{5,80,100} } -
先定义,后赋值
struct student { int id; int age; float score; int number; }stu[5]; stu[0].id=1; stu[0].age = 100; stu[0].score = 0;
-
-
结构体数组大小
sizeof(struct student)*元素个数
3.结构体指针
-
概念:指向结构体变量的指针
-
定义格式:
struct 结构体名 *指针名;struct student { int id; int age; float score; }stu; struct student * p = &stu; -
赋值
格式:
指针名->成员变量名
p->id = 1;
-
结构体指针的大小
sizeof( p )=4
文章详细介绍了C语言中的结构体,包括结构体的定义、格式、变量定义、赋值和访问方式。此外,还讨论了结构体数组的概念和定义方式,以及结构体指针的使用,包括如何通过指针访问和修改结构体成员。最后提到了typedef在结构体定义中的应用,以及结构体数组的大小计算。
2882

被折叠的 条评论
为什么被折叠?



