C语言 宏定义与函数的声明

宏定义的用处主要体现在便于程序的调试上。 比如我要写一个计算圆相关信息(周长、面积等等)的程序,需要定义π(3.14): #define PI 3.14 那么势必PI这个标识可以在程序中代替所有的3.14,如果我发现计算的精度不够,需要π的更多有效位时,则只需将宏定义修改为: #define PI 3.1415926 那么程序中的所有PI都会变成3.1415926 可想而知,没有宏定义,我需要将代码中全部的3.14都手动改为3.1415926 即使是定义double PI=3.14;,你会发现当代码很长时,在乱军丛中找到一行“double PI=3.14;”是多么困难的事。 又比如数组,定义时是不能出现“int a[n];”这样的定义的,编译通不过,因为必须规定数组长度。 但如果是: #define N 10 int a[N]; 就可以,对宏定义编译器是不作检查的,应为宏定义只是简单的符号替换。所以一旦我还没有确定要定义多长的数组,但又想通过编译时,就可以提现宏定义的用处了。 如此看来,宏定义提升了程序编写的灵活性。

 

什么是宏定义?

*条件编译*

C语言中,预处理过程读入源代码,检查包含预处理指令的语句和宏定义,并对源代码进行相应的转换,预处理过程还会删除程序中的注释和多余的空白符号。预处理指令是以#开头的代码行,#必须是该行除了空白字符外的第一个字符。#后是指令关键字,在#和指令关键字之间允许存在若干空白字符。

 

函数声明

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 目录 一.预处理的工作方式... 3 1.1.预处理的功能... 3 1.2预处理的工作方式... 3 二.预处理...
    朱森阅读 1,546评论 0 2
  • 姓名:吕彬 学号:1613014035 【嵌牛导读】#define 宏定义是个演技非常高超的替身演员,但也会经常耍...
    傻彬儿阅读 1,361评论 0 1
  • 预处理在C语言中,以“#”号 开头的是预处理命令。例如,如包含命令#include ,宏定义 命令#define...
    Eric_Hunter阅读 709评论 0 1
  • C中的预编译宏定义 2009-02-10 作者: infobillows 来源:网络 在将一个C源程序转换为可执行...
    白水灬煮一切阅读 1,732评论 0 5
  • 1 new/delete和malloc/free区别二者都是用于分配控件和释放空间的。new/free是c++中支...
    努力科研的小树蛙阅读 269评论 0 0

友情链接更多精彩内容