0
点赞
收藏
分享

微信扫一扫

嵌入式C.2

佳简诚锄 2022-02-07 阅读 74

1.指针:

定义指针 :u8为指针类型,a为指向数据的地址;*a为写入数据;移动时不需要加*号;调用时需要带上a的地址,也就是a要加*号

指针与数数组:均占用内存,指针更加灵活,可以移动,不固定空间大小;数组需固定一个区域,才能在区域内操作

使用:a*b为a乘b;1 *b为1乘b;a+*b为a+指针b;a*(*b)为a乘指针b

几种指针用法

1)int *p与const int *pi:常量指针,指针的值可以改变,不能改变指针指向内存的值,指针可以指向常量和变量

2)int const *pi:常指针,指针的值可以改变,可以通过指针修改指向常变量的值,不能改变指针指向内存的值,指针只能指向变量,定义的时候要初始化,初始化后就不能再修改。和static定义变量用法一样

3)int *const pi:指针变量的值不能被改变,

4)int const *const pi:指向常量的常指针,指针无法修改,且该指针指向的内存也不能被修改

技巧:const后面一个对应的量不能被修改

2.结构体指针

别名加上变量名为定义结构体变量,例如:sensor sen
别名加上指针便令为定义结构体指针便令3,例如:sensor *psen

在主函数中,Psen = &sen,为给结构体指针变量幅值(不加*号) 

 

3.宏定义:节省工作量,提高代码的可读性

分为两类:对象宏和函数宏

对象宏:#define关键字表明即将开始定义一个宏,M_PI是宏的名字,空格之后的数字是内容,也就是定义M_PI为后面的一串数字

 函数宏:定义的时候,在宏名字后面跟上一对括号的话,这个宏就变成了函数宏,使用时和普通的调用函数较为相似,下面就是一个较为简单的函数宏,实现输出A,B中的最小值

 

举报

相关推荐

0 条评论