入门---结构体浅解

时间:2021-08-22 21:19:13   收藏:0   阅读:9

数据结构与算法

基础---结构体

1.什么是结构体&如何定义一个结构体

C语言允许用户自己指定这样一种数据结构,它有不同类型的数据组合成一个整体以便使用。

//一个结构体的一般形式:
struct 结构体名{
	成员列表:
    int a;
    char b;
};
//struct用来声明一个结构体,成员列表用来声明结构体中有哪些变量。
//结构体成员可以包括结构体。

/前面那样只是指定了一个结构体类型,相当于创建了一个模型,因为里面没有实际数据,所以系统不会为其分配内存单元。想要为其分配内存单元,我们需要创建结构体变量

2.如何定义结构体变量

2.1方法一/间接

先声明结构体类型,再定义结构体变量。

struct Student{
    int age;
    float score;
};//声明结构体类型
struct Student XiaoMing;//定义结构体变量XiaoMing
//注意,关键字struct不能少。

2.2方法二/直接

在声明结构体类型的同时定义变量。

struct Student{
	int age;
	float score;
}XiaoMing,XiaoHong;
//在声明了Student类型的同时定义了XiaoMing XiaoHong变量。

2.3方法三/最直接

直接定义结构体变量

struct{
    int age;
    float score;
}XiaoMing;
//直接定义了结构体变量XiaoMing
//优点:快,方便。
//缺点:结构体类型不能再复用。

2.4方法四/利用typedef

typedef关键字的作用是给数据类型定义一个新名字:

typedef int ZS;//给int类型取一个新名字ZS。
ZS a;//声明int类型变量a。

我们可以将其利用于结构体变量的声明中:

typedef struct Student{
    int age;
    float score;
}Stu;//声明结构体类型,并且为struct Student起了一个新名字Stu。
Stu XiaoMing;//通过typedef,我们省略了定义结构体变量时必须要有的关键字struct。
//这里的Stu不是结构体变量,而是struct Studnet的别名。切记!切记!


//另外,typedef起作用是在结构体类型建立完后,换句话说,这个结构体中不能用自己起的别名:
typedef struct Student{
    ...
    Stu stu;//这样会报错。
}Stu;

2.5几点注意

3.如何使用结构体

//结构体变量不能整个使用,只能对结构体变量中的各个成员分别输入输出。
struct Student{
	int age;
    float score;
}XiaoMing;
XiaoMing.age = 18;//对age赋值
XiaoMing.score = 99.5;//对score赋值
printf("%d %f",XiaoMing.age,XiaoMing.score);//打印这些值

原文:https://www.cnblogs.com/hyy233/p/15172855.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!