C语言基础之结构体

本文详细介绍了C语言中结构体的定义与使用方法,包括如何定义结构体类型、使用typedef定义结构体类型别名、初始化结构体变量及数组、访问结构体成员等内容,并探讨了结构体作为函数参数的应用。

1、在C语言中可以使用结构体定义用户自己的数据类型,类似于数组,但是结构体中的成员可以是不同的数据类型。
struct结构体类型名 变量名
eg:
struct Student
{
char name[128];
int age;
float score;
};
//定义了一个名为Student的数据类型,该类型是一个结构,包括name、age、score三个成员
struct Student student;//定义了一个名为student的变量,该变量是struct Student 类型的
struct Student student2;
struct Student student3;
先用typedef定义结构体类型别名,再用该别名定义变量
typedef 原始类型 类型别名;
typedef unsigned int UINT;
UINT a;//等价于unsigned int a;
typedef int BOOL;
typedef struct Student
{
char name[128];
int age;
float score;
}STU;
STU student;
STU student2;
STU student3;
嵌套结构:一个结构体类型中的某个成员也是结构体类型的。
eg:
struct Student
{
char name[128];
int age;
float score;
struct Date{
int year;
int month;
int day;
}birthday;
};
2、结构型变量及数组的初始化
通过{}对结构性变量进行初始化。
3、访问结构体成员
(1)通过变量访问成员:用.运算符,亦称为成员访问运算符。
(2)通过指针访问成员:用->运算符,亦称间接访问成员运算符。
4、结构类型的变量可以作为函数的参数,但是与基本类型的参数的情况一样,虚实结合的过程只是值得赋值,因此在函数内部对形参所做的修改,不会影响实参。如果希望函数能够改变实参的值,应该传入变量的地址。
5、即使以读的方式访问形参的函数,仅仅出于性能的考虑,也可以以地址方式传参,避免结构复制所带来的开销。为了防止在函数中意外地修改实参,可以用常量指针定义参数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值