当前位置:网站首页>鹏哥C语言第七节课总结
鹏哥C语言第七节课总结
2022-07-26 10:36:00 【竹某】
一.结构体
结构体是C语言用于处理复杂对象的。结构体本质上是一种自定义类型。
#include <stdio.h>
#include <string.h>
enum Sex {
MALE,
FEMALE
};
struct Student {
char name[10];//成员
int age;
Sex sex;
};//定义结构体的语法,作用是提供了具有特定成员的新的数据类型
int main() {
//定义和初始化结构体变量的方法
Student Tom = {"Tom",19,MALE};//结构体是一种新的数据类型,可以用于定义复杂对象(变量)
printf("%s\t%d\n",Tom.name,Tom.age);//通过.来使用结构体变量的成员
Student* ptrTom = &Tom;//由于结构体是一种新的数据类型,自然也可以使用指针
ptrTom->age = 20;//通过结构体变量指针使用结构体变量的成员时,借助->
//ptrTom->name = "Sony"; C语言中的字符串不能如此赋值
strcpy(ptrTom->name,"Sony");
printf("%s\t%d\n", Tom.name, Tom.age);
}区分三个概念:结构体,结构体变量,结构体变量指针。
结构体实质上是一种新定义的数据类型,用于处理复杂对象。(类似于Java中类的概念,只不过没有方法)
结构体变量实质上是我们需要处理的具体的复杂对象。(类似于Java中对象的概念,只不过没有方法)
结构体变量指针是指向结构体变量的指针。通过这个指针我们可以通过*解引用符来取得结构体变量,或是通过->来取得结构体变量的成员。总之和基本数据类型的指针使用类似,除了成员这方面外。
二.C语言的32个关键字
| 关键字 | 说明 |
|---|---|
| auto | 声明自动变量,与变量的生命周期相关 |
| short | 声明短整型变量或函数,基本数据类型 |
| int | 声明整型变量或函数,基本数据类型 |
| long | 声明长整型变量或函数,基本数据类型 |
| float | 声明浮点型变量或函数,基本数据类型 |
| double | 声明双精度变量或函数,基本数据类型 |
| char | 声明字符型变量或函数,基本数据类型 |
| struct | 声明结构体变量或函数 |
| union | 声明共用数据类型 |
| enum | 声明枚举类型 |
| typedef | 用以给数据类型取别名,注意和define区别,define不是关键字 |
| const | 声明只读变量 |
| unsigned | 声明无符号类型变量或函数 |
| signed | 声明有符号类型变量或函数 |
| extern | 声明变量是在其他文件正声明 |
| register | 声明寄存器变量 |
| static | 声明静态变量 |
| volatile | 说明变量在程序执行中可被隐含地改变 |
| void | 声明函数无返回值或无参数,声明无类型指针 |
| if | 条件语句 |
| else | 条件语句否定分支(与 if 连用) |
| switch | 用于开关语句 |
| case | 开关语句分支 |
| for | 一种循环语句 |
| do | 循环语句的循环体 |
| while | 循环语句的循环条件 |
| goto | 无条件跳转语句,不建议使用 |
| continue | 结束当前循环,开始下一轮循环 |
| break | 跳出当前循环 |
| default | 开关语句中的“其他”分支 |
| sizeof | 计算数据类型长度 |
| return | 子程序返回语句(可以带参数,也可不带参数)循环条件 |
define不是关键字,请注意
三.其他的一些零散的知识点
边栏推荐
猜你喜欢

Unit test, what is unit test and why is it so difficult to write a single test

sigmod 函数与softmax 函数对比

Issue 5: the second essential skill for College Students

Our Web3 entrepreneurship project is yellow

第6期:大学生应该选择哪种主流编程语言

.NET 开源框架在工业生产中的应用

Zongzi battle - guess who can win

js下载文件,FileSaver.js导出txt、excel文件
![[Halcon vision] Fourier transform of image](/img/9c/d6ed4ab3e40f706f3b5b8b5cc51db9.png)
[Halcon vision] Fourier transform of image

一文详解Nodejs中fs文件模块与path路径模块
随机推荐
cavans实现静态滚动弹幕
[Halcon vision] software programming ideas
[leetcode每日一题2021/2/13]448. 找到所有数组中消失的数字
Analysis of the transaction problem of chained method call
Tradingview 使用教程
Uniapp uses the simple method signalr (only for web debugging, cannot package apps)
将json文件中数组转换为struct
Perfect / buffer motion framework in sentence parsing JS (for beginners)
点击el-dropdown-item/@click.native
Introduction to data analysis | kaggle Titanic mission
datav漂亮数据屏制作体验
移动端H5开发常用技巧总结
STM32 阿里云MQTT esp8266 AT命令
js,e.pageX、pageY模态框拖动
[Halcon vision] affine transformation
The problem of large fluctuation of hx711 data
el-table实现可编辑表格
第7期:内卷和躺平,你怎么选
构造器、方法重载、对象数组和static
Uninstall Meizu app store