- 关键字
- 常用数据类型(char int float)
- 常用构造数据类型(enum struct)
- static与const
- 常用逻辑结构(if while for)
- 指针
- typedef 为取别名关键字
- 在项目中常使用typedef将冗长的数据类型关键字替换为简短的表达形式
- enum 枚举类型关键字(enum与struct本质与int是相同的皆用于声明变量的类型)
- 其中第一个元素对应值默认为0,欲使其为其他数值可以设置第一个元素为“=1或其他数值”,后续元素将会自动递增1。
- 其元素基本类型为unsigned int
- 为了赋予其实际意义,常与typedef共同使用,以下为一种常用的声明方式,使用gimbal_motor_mode_e 即为该列表的对象
- 关于“对象”与其实例化,本为基于c语言开发的其他语言概念如C++,python。可以理解为对象为“哺乳动物”,其实例化为“人类”。
- gimbal_motor_mode_e 为对象,gimbal_motor_mode与last_gimbal_motor_mode为其实例化,分别使用独立的存储空间。
- struct 结构体类型关键字(数组:所有元素基本数据类型相同,结构体:每个元素的基本数据类型任意,所以可以在结构里定义枚举类型数据以及结构体类型数据)
- 同样地,也常与typedef一起使用,定义的结构体也是对象需要实例化之后才能正常使用。
- 调用结构体中的元素 "."只需声明结构体即可调用,“->”需声明结构体指针并开辟独立的储存空间才能使用
- ".“一般情况下读作"的”。“->”一般读作"指向的结构体的”
- A->a等效于(*A).a(暂时只做了解,后续指针部分内容将会完整说明)
该图片引用自: C语言中“.”与->的区别 - 底层寄存器常使用指针结构体
- static 用于声明静态数据类型,在项目中常在,c文件中定义静态函数,则其在其他文件不仅可见(.h),故在其他文件需使用外部引用关键字extern 声明才能使用,在.c定义并在.h中这么声明的好处在于可以节省空间并防止编译出错,以保证该数据只定义一次。
- 详细内容可参考以下文章: c语言中static关键字用法详解
- const 则用于声明该数据不可外部更改,保证其数据传递的稳定。
-
if 条件判断(条件为恒等内容时需使用 “==”而非“=”)
-
同时宏定义常使用#if #else #endif 进行条件编译
-
详细内容可参考: #if、#else、#endif、#elif、#ifdef、#ifndef的区别和使用
-
在.h文件中为避免重复定义,常使用#ifndef #define #endif结构声明该文件的的唯一性(如果没有定义… 则定义… 结束 名字可以随便取但出于规范尽量合理命名)
-
while 循环逻辑,条件满足则死循环直到条件不满足,其衍生结构还有do while
while do(先判断条件在做 先做再判断条件) -
for循环逻辑,与while的区别在于可以执行设定次数的循环。
-
三种循环语句的详解和使用(for,while,do-while)
-
C语言 while语句的用法
-
多使用if,非必要不使用while for。
- 指针的作用在于作为一个传递数据的通道
- 声明 数据类型 * p(*与p靠近或与int靠近皆可)
- *p为指针地址所存放内容,p为指针所指地址,&p 该指针存放的地址,**p 套娃指针,存放的的一级指针的地址
- 指针的类型为地址,故再传递的时候需传递地址(指针所指地址 set_mode,结构体地址 &gimbal_control,使用这样的方法即可无需过多声明即可完成数据的传递。



