C语言——define的用法归纳
来源:互联网 发布:软件模块化设计原则 编辑:程序博客网 时间:2024/06/05 13:33
define的用法:
define是C语言中的预处理命令,它用于宏定义,可以提高源代码的可读性,为编程提供方便。
预处理命令以“#”号开头,如包含命令#include,宏定义命令#define等。一般都放在源文件的前面,它们称为预处理部分。
所谓预处理是指在进行编译之前所作的工作。预处理是C语言的一个重要功能,它由预处理程序负责完成。当对一个源文件进行编译时,系统将自动引用预处理程序对源程序中的预处理部分作处理,处理完毕自动进入对源程序的编译。
在C或C++语言源程序中允许用一个标识符来表示一个字符串,称为“宏”。被定义为“宏”的标识符称为“宏名”。在编译预处理时,对程序中所有出现的“宏名”,都用宏定义中的字符串去代换,这称为“宏代换”或“宏展开”。宏定义是由源程序中的宏定义命令完成的。宏代换是由预处理程序自动完成的。
define的最简单的用法:
#define LEN 10编译器在处理这个代码之前会对LEN进行处理,替换为10,或许有些人认为这样的定义看起来和const常量很相似,但是他们还是有区别的,#define的定义其实就是简单的文本的替换,并不是作为一个量来使用define的函数定义:
#define max(a,b) (a>b?a:b)//还可以将括号去掉 a>b?a:b这个定义就是两个数中大的那个数,但是它不能在后面加分号,否则会将分号一起替换过去,就会出现编译错误;
#if与#endif的用法:
#if 0code#endif(1)如果想让code生效,只需把#if 0改成#if 1 ,为1时,表示为真;
(2)#if 1可以让其间的变量成为局部变量;
(3)这个结构表示你先前写好的code,现在用不上了,又不想删除,就用这个方法,比注释方便,在注释的时候可以收缩在一起 看上去美观;
#ifdef的用法:
#ifdef 标识符
程序段1
#else
程序段2
#endif
它的作用是:当标识符已经被定义过(一般是用#define命令定义),则对程序段1进行编译,否则编译程序段2。
他的作用与#ifdef相反,当标识符未定义时,执行程序段1;#ifndef的用法:
#ifdef 标识符
程序段1
#else
程序段2
#endif
阅读全文
0 0
- C语言——define的用法归纳
- c语言define的用法
- C语言#define的用法
- C语言#define用法
- C语言 #define用法
- C语言中#define的用法
- C语言中#define的用法(转)
- C语言中#define的用法(转)
- C语言中#define的用法(转)
- C语言的一些特殊用法(#define)
- C语言中define的用法
- C语言中define的用法
- C语言中#define的用法
- C语言中define的用法
- C语言中#define的用法
- C语言中#define的用法(转)
- C语言中define的用法
- C语言中define的用法总结
- Hot Bath
- Go 基础语言学习笔记
- Activity转场动画效果
- JDK日志框架源码分析(一)
- springmvc属性编辑器和自定义参数解析器
- C语言——define的用法归纳
- Zookeeper集群问题介绍
- POJ-1094 Sorting it All Out
- 最小生成树之prim模板题
- 优雅设计封装基于Okhttp3的网络框架(完):原生HttpUrlConnction请求、多线程分发 及 数据转换
- Java在linux上只能在程序的当前目录下创建文件/文件夹导致的问题
- ORA-01653: unable to extend table SYS.AUD$ by 8192 in tablespace SYSTEM系统表空间满
- Nginx配置SSL证书部署HTTPS网站(颁发证书)
- java编程题古典算法之兔子问题