C语言笔录- 1

C语言笔录- 1

  • #define
    C语言中,可以用 #define 定义一个标识符来表示一个常量。其特点是:定义的标识符不占内存,只是一个临时的符号,预编译后这个符号就不存在了。预编译又叫预处理。预编译不是编译,而是编译前的处理。这个操作是在正式编译之前由系统自动完成的。
#define  标识符  常量   (注意, 最后没有分号)
注释:#define 和 #include 一样,也是以“#”开头的。凡是以“#”开头的均为预处理指令

#define又称宏定义,标识符为所定义的宏名,简称宏。标识符的命名规则与前面讲的变量的命名规则是一样的。#define 的功能是将标识符定义为其后的常量。一经定义,程序中就可以直接用标识符来表示这个常量。是不是与定义变量类似?但是要区分开!变量名表示的是一个变量,但宏名表示的一个常量。可以给变量赋值,但绝不能给常量赋值。

宏定义 #define 一般都写在函数外面,与 #include 写在一起。当然,写在函数里面也没有语法错误,但通常不那么写。#define 的作用域为自 #define 那一行起到源程序结束。如果要终止其作用域可以使用 #undef 命令,格式为:

#undef  标识符

那么这个宏的作用范围到此就结束了。#undef 用得不多,但大家要了解。
.
.

  • C 语言中 void 详解及应用*
    void 在英文中作为名词的解释为 “空虚、空间、空隙”,而在 C 语言中,void 被翻译为"无类型",相应的void * 为"无类型指针"。

  • #ifndef–#define–#endif
    #ifndef __LED_H
    #define __LED_H
    如果一个头文件被引用两次,编译器会处理两次头文件的内容,这将产生错误。为了防止这种情况,标准的做法是把文件的整个内容放在条件编译语句中,如下:

#ifndef __LED_H
#define __LED_H	 
#include "sys.h"

#define LED0 PBout(5)// PB5
#define LED1 PEout(5)// PE5	

void LED_Init(void);//初始化

		 				    
#endif

这种结构就是通常所说的包装器 #ifndef。当再次引用头文件时,条件为假,因为__LED_H 已定义。此时,预处理器会跳过文件的整个内容,编译器会忽略它。

C语言 (1 << 0)
指的是将1的二进制,左移0位。
形如:a<<x
将a的二进制左移x位

~ (1 << 1) 指的是将1的二进制,左移0位取反
>~XXXX XXX1 = XXXX XXX0 

~ (1 << 0) 指的是将1的二进制,左移0位取反
>~XXXX XX10 = XXXX XX0X 
#endif
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值