您的位置:首页 > 健康 > 养生 > 工信网企业查询_枣庄科技馆里度周末_地推_广州最新疫情最新消息

工信网企业查询_枣庄科技馆里度周末_地推_广州最新疫情最新消息

2025/2/27 16:30:28 来源:https://blog.csdn.net/2201_75620634/article/details/143982614  浏览:    关键词:工信网企业查询_枣庄科技馆里度周末_地推_广州最新疫情最新消息
工信网企业查询_枣庄科技馆里度周末_地推_广州最新疫情最新消息

1类型重定义 typedef

        typedef关键字

属性:关键字

功能:将数据类型重新定义别名  (数据类型        别名)

格式:typedef数据类型名  别名;

例子:typedef unsigned char u8;

位置:标准位置应该放在工程的.h文件

          没有.h文件放在主函数上面

好处:写复杂数据类型更方便

#include <stdio.h>

typedef  unsigned char u8;  //不一定都用u8  有的用uint8_t

typedef  unsigned short u16;

typedef  unsigned int u32;

使用场景:对结构体类型重命名

2宏定义#define

#define 预处理

        属性:预处理

        功能:在预处理的时候,将程序中的语句或表达式  重命名(别名)

格式:

                不带参宏定义

                带参宏定义

格式: #defind  别名 要宏定义的内容   //别名在前  没有分号  要宏定义的内容加括号

说明:宏名用大写

例子:#define LED_ON  (GPIO->&=~(1<<4))

位置:放在.h文件中

        放在.c最上面

好处:使程序简单,更直观,方便程序维护

使用场景:传感器功能码,特殊功能等等

分类:标准宏定义

           带参宏定义

                格式:#define  别名(参数)  (宏定义内容)

                例子:#define MM(a,b)  (a+b*a)

3条件编译

说明:

        条件编译要跟条件执行(选择结构)区分开;

条件编译:根据数据决定是否编译代码

条件执行:根据条件决定是否执行代码

功能1:按照不同的条件去编译不同的程序部分,因此产生不同的目标代码文件。节省代码存储空间。

格式:

#define VL

int main(void)

{

#ifdef VL

        程序1

#else

        程序2

#endif

   return 0;

}

#ifdef VL

        printf("版本1界面\n");

#endif

#ifdef VK

        printf("版本2界面\n");

#endif

#ifdef VJ

        printf("版本3界面\n");

#endif

#ifdef VH

        printf("版本4界面\n");

#endif

功能2:条件编译防止代码重复编译

#ifndef 标签名

#define 标签名

#endif

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com