完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
1.位操作
C语言支持下列6种位操作符 .&:按位与 .| : 按位或 .^ : 按位异或 .~:取反 .<<:左移 .>>:左移 注:操作符不包括左小角的小点,请忽略小点 2.define 宏定义 define是C语言种的预处理命令,可以提高源代码的可读性,为编程提供方便。 常见格式: #define 标识符 字符串 3.ifdef 条件 #ifdef 标识符 程序段1 #else 程序段2 #endif 他的作用是:当标识符已经被定义过(一般是用#define命令定义),则对程序段1进行编译,否则对程序段2进行编译。 注:其中#else 程序段2可以没有 另一形式 #if 标识符 程序段1 #endif 如果标识符已经被定义过,那么执行程序段1 4.extern变量申明 extern可以置于变量或者函数前,表示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。 注意:extern申明变量可以多次,但定义只有一次。 5.结构体 声明结构体类型格式 声明结构体类型格式 格式: struct 结构体名 { 成员列表; }变量名列表; 实例: struct _GPIO { int TMODER; int Tser; } **注:变量名列表结构体声明的结构体变量,可不写,以后再定义** 例如:struct _GPIO age,number;//就定义了两个结构体变量age和number 定义结构体变量后,结构体成员变量的引用方法是 例如我们上面定义了的age结构体变量,我要输出他的成员变量Tser 那么应该写为 printf("%d",age.Tser);//也就是 结构体变量名.成员变量名,没什么特殊的 定义结构体指针变量 依然基于上面的_GPIO结构体 定义结构体指针变量:struct _GPIO *age; 是的,只是结构体变量名前面加了*,但是要访问结构体变量成员时应该这样写 printf("%d",age->Tser); 6.typedef 类型别名 typedef 用于为现有类型创建一个新的名字,或成为类型别名,用来简化变量的定义。typedef在keil5中用的最多的就是定义结构体的类型别名和枚举类型。 struct _GPIO { __IO uint32_TMODER; __IO uint32_Tser; ...... } 此时我们定义一个上面的结构体应该这样定义 struct _GPIO age; 但是我们使用typedef后 typedef struct { __IO uint32_TMODER; __IO uint32_Tser; ...... }GPIO 此时我们定义一个上面的结构体可以这样 GPIO age; 此时我们就定义了一个叫age的结构体变量 |
|
|
|
只有小组成员才能发言,加入小组>>
2591 浏览 0 评论
783浏览 1评论
218浏览 1评论
548浏览 0评论
297浏览 0评论
498浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-13 21:27 , Processed in 0.373281 second(s), Total 44, Slave 36 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (威廉希尔官方网站 图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号