当前位置:网站首页>【C语言】结构体变量学习笔记1
【C语言】结构体变量学习笔记1
2022-08-10 05:35:00 【introversi0n】
目录
定义和使用结构体类型
建立/声明 结构体类型
struct Student
{
int num;
char name[20];
char sex;
};
声明一个结构体类型的一般形式为
struct 结构体名
{成员表列};
注意,成员表列中的成员也可以是结构体类型。
定义结构体类型变量
第一种:声明结构体变量和定义结构体变量分离。
例如
struct Student//结构体变量声明
{
int num;
char name[20];
char sex;
};
struct Student a,b;//结构体变量定义
这里的定义可理解成 int a,b; 类型
第二种:在声明类型的同时定义变量
例如
struct Student//结构体变量声明
{
int num;
char name[20];
char sex;
} student1,student2;//结构体变量定义
这里student1和student2就是被定义的变量名称
这种定义方法的一般形式为
struct 结构体名
{成员表列
}变量名表列;
在写小程序时,用这种方式比较方便,但是写大程序时,往往要求对类型的声明和对变量的定义分别放在不同的地方,以使程序结构清晰,便于维护,所以一般不多用这种方式。
第三种:不指定类型名而直接定义结构体型变量
其一般形式为
struct
{成员表列
}变量名表列;
指定了一个无名的结构体变量,没有名字。
结构体变量的初始化和引用
例题及代码
把一个学生的信息(包括学号、姓名、性别、住址)放在一个结构体变量中,然后输出这个学生的信息。
#include <stdio.h>
int main()
{struct Student //声明结构体变量
{long int num;
char name[20];
char sex;
char addr[20];
}a = {10101,"Li Lin",'M',"123 Beijing Road"}; //定义结构体变量a并初始化
printf("No.:%ld\nname:%s\nsex:%c\naddress:%s\n",a.num,a.name,a.sex,a.addr);
return 0;
}
(1)定义时可以直接对成员初始化,始化列表是用花括号括起来的。
C99标准允许对某一成员进行初始化,如:
struct Student b={.name="Zhang Fang"}; //其中成员名前有成员运算符"."
其中".name"隐含代表结构体变量b中的成员b.name。其他未初始化的成员被系统初始化为0,字符型则被系统初始化为'\0',指针成员被系统初始化为NULL。
(2)引用结构体变量中成员的值,引用方式为:
结构体变量名.成员名
“.”是成员运算符,优先级是所有运算符中最高的。
(3)只能对最低级的成员进行复制或存取以及运算
(4)同类的结构体变量可以互相赋值
student1=student2; //假设student1和student2已定义为同类型的结构体变量
边栏推荐
猜你喜欢
LeetCode 1894. Find the student number that needs to be supplemented with chalk
Flutter Package 插件开发
pytorch-09. Multi-classification problem
细说MySql索引原理
51单片机手动自动智能窗户窗帘控制系统手动自动定时
开源免费WMS仓库管理系统【推荐】
2022李宏毅机器学习hw1--COVID-19 Cases Prediction
STM32F407ZG TIM通用定时器
LruCache与DiskLruCache结合简单实现ImageLoader
pytorch-11. Convolutional Neural Network (Advanced)
随机推荐
STM32单片机OLED俄罗斯方块单片机小游戏
【简易笔记】PyTorch官方教程简易笔记 EP2
LeetCode 292.Nim 游戏(简单)
接口自动化2.0
基于MNIST数据集的简单FC复现
分享一款恋爱星座男女配对微信小程序源码
LeetCode 292. Nim Game (Simple)
学生管理系统以及其简单功能的实现
【目标检测】相关指标的引入与解析
STM32单片机RGB红蓝调光植物补光系统红光蓝光PWM调色调节亮度
WeChat applet wx.writeBLECharacteristicValue Chinese character to buffer problem
我不喜欢我的代码
21天挑战杯MySQL——Day06
Notes for RNN and Decision Tree
详解 Hough 变换(上)基本原理与直线检测
pytorch-11.卷积神经网络(高级篇)
I don't like my code
Day1 微信小程序-小程序代码的构成
PyTorch 之 可视化网络架构
pytorch-08.加载数据集