前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >(4.20)C语言(预处理)

(4.20)C语言(预处理)

作者头像
用户2617681
发布2019-08-08 15:24:05
7190
发布2019-08-08 15:24:05
举报
文章被收录于专栏:秘籍酷秘籍酷

在C语言中,所有以#开头的语句被称为预处理语句,那他们有什么需要知道的知识点呢?

首先,预处理语句严格来讲并不是C语言,编译的时候也不由编译器来处理,而是由预处理器分析和处理。

其次,预处理指令必须独自占一行,而且只能占一行。怎么理解呢?以宏定义为例,看下面的代码演示:

这是正确的写法:

#define MAX(a, b) ((a) > (b) ? (a) : (b)) #define MAX(a, b) \ ({ \ typeof(a) _a = a; \ typeof(b) _b = b; \ ((_a) > (_b) ? (_a) : (_b)); \ })

这是错误的写法:

#define PI 3.14 #define SIZE 32 #define MAX(a, b) ({ typeof(a) _a = a; typeof(b) _b = b; ((_a) > (_b) ? (_a) : (_b)); })

上述代码中,错误的写法错在:一行中出现了多条预处理语句,或者一条预处理语句写了很多行。这些写法都是不行的。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-04-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 秘籍酷 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档