找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1335|回复: 4
打印 上一主题 下一主题
收起左侧

C语言带#号的编译预处理命令和typedef类型名重定义

[复制链接]
跳转到指定楼层
楼主
ID:647532 发表于 2022-6-1 10:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#define    宏名   字符串  

以一个宏名称来代表字符串,即当C语言程序中任何地方使用到宏名称时,则将以所代表的字符串来代替。宏定义的一般是常数或者表达式常数项,不是变量。
用宏定义有什么好处呢?
1.如C语言程序中多处 引用某一常数量,可以用宏来定义,便于程序修改,维护时修改宏名即可完成所有常数量的修改。
例:
  1. #define CLOCK_BASE   1 //程序编译时会有把程序中所有用CLOCK_BASE 表示的地方,替换成常数 1
  2. #define CLOCK_40MS  (65535-40000*CLOCK_BASE) // 表达式
  3. #define LED_ON ( )  RB1=1
  4. #define LED_OFF ( )  RB1=0

复制代码

条件编译
#if  表达式
#else
#endif

例1:
  1. #if  0  //0永远不成立,编译#else 后面的代码
  2. P1 = P1 | 0XFE ;
  3. keyvalue = P1 &  0XFE ;
  4. #else
  5. P1 = P1 | 0X7E ;
  6. keyvalue = P1 &  0X7E ;
  7. #endif
复制代码
typedef 重定义类型名
  1. typedef unsigned int  u16 ;
  2. typedef unsigned char u8 ;

  3. void typedef Demo1 (void)
  4. {
  5.    Bool j ;
  6.    j=0 ;
  7. }
复制代码

#ifndef 宏名  
  1. # ifndef  PWM  //如果PWM没有被定义过,则编译下面的代码
  2. #define PWM
  3. #define SUCCESS  0
  4. #define FAILURE 1
  5. #endif
复制代码

有人说 :   程序=数据结构+算法,C语言程序学到这里还没有正真的开始,一个用C语言编写的单片机成品,打开电源时MCU执行的第一个程序是从main()这个函数开始的,在程序中重复执行循环,可以让MCU不断的轮询外部状态,以进行实时处理。C语言程序往往在编写程序前要先指定头文件,
#include 文件名.h,因为头文件里面定义了很多单片机的公共变量及函数,必须声明成外部的(extern),以利其他模块和函数使用。下节从点亮一颗LED灯开始,说明单片机程序是如何运行起来的。

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:230500 发表于 2022-6-2 08:44 | 只看该作者
这个资料挺好, 对于新手很有帮助,
回复

使用道具 举报

板凳
ID:959314 发表于 2022-8-7 21:28 | 只看该作者
void typedef Demo1 (void)
{
   Bool j ;
   j=0 ;
}

这个代码 运行不了, 是我的机子出什么 问题了吗?
回复

使用道具 举报

地板
ID:959314 发表于 2022-8-7 21:35 | 只看该作者
这个资料很不错,可就是我不会。
回复

使用道具 举报

5#
ID:647532 发表于 2022-8-26 11:28 | 只看该作者
showlight 发表于 2022-8-7 21:28
void typedef Demo1 (void)
{
   Bool j ;

typedef  bit  Bool;             #类型名重定义
void TypedefDemo1(void) #更正一下错误typedef Demo1    改写成  TypedefDemo1
{
  Bool j;
  j = 0;
}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表