当前位置: 首页 > wzjs >正文

建设工程网站168今日新闻快报

建设工程网站168,今日新闻快报,定制网络机顶盒刷机,濮阳公司做网站1. 预处理器的功能 预处理器(Preprocessor)在编译C语言程序之前对源代码进行预处理。预处理指令以#号开头,主要包括文件包含、宏定义、条件编译等功能。 2. 文件包含 文件包含功能用于在一个文件中包含另一个文件的内容,通常用…

1. 预处理器的功能

预处理器(Preprocessor)在编译C语言程序之前对源代码进行预处理。预处理指令以#号开头,主要包括文件包含、宏定义、条件编译等功能。

2. 文件包含

文件包含功能用于在一个文件中包含另一个文件的内容,通常用于包含头文件。

2.1 #include 指令

#include指令用于包含头文件。头文件可以是标准库头文件或用户自定义头文件。

标准库头文件

标准库头文件使用尖括号<>括起来。

#include <stdio.h>
#include <stdlib.h>
用户自定义头文件

用户自定义头文件使用双引号""括起来。

#include "myheader.h"

3. 宏定义

宏定义用于定义宏常量和宏函数,便于代码的重用和管理。

3.1 定义宏常量

#define指令用于定义宏常量。

#define PI 3.14
#define MAX_SIZE 100

3.2 定义宏函数

宏函数是一种简单的文本替换,不进行参数类型检查和计算。

#define SQUARE(x) ((x) * (x))
#define MAX(a, b) ((a) > (b) ? (a) : (b))

3.3 取消宏定义

#undef指令用于取消宏定义。

#undef PI

4. 条件编译

条件编译用于根据条件选择性地编译代码,便于跨平台开发和调试。

4.1 #if#endif 指令

#if 指令用于在条件为真时编译代码块。

#define DEBUG 1#if DEBUGprintf("Debug mode\n");
#endif

4.2 #ifdef#endif 指令

#ifdef 指令用于在宏已定义时编译代码块。

#define FEATURE_ENABLED#ifdef FEATURE_ENABLEDprintf("Feature is enabled\n");
#endif

4.3 #ifndef#endif 指令

#ifndef 指令用于在宏未定义时编译代码块。

#ifndef MAX_SIZE#define MAX_SIZE 100
#endif

4.4 #else#elif 指令

#else#elif 指令用于在条件为假时编译代码块。

#define VALUE 10#if VALUE < 5printf("Value is less than 5\n");
#elif VALUE < 15printf("Value is less than 15\n");
#elseprintf("Value is 15 or greater\n");
#endif

5. 常用的预定义宏

预定义宏是编译器预定义的宏,可以在程序中使用。

5.1 __FILE__

__FILE__宏表示当前源文件的名称。

printf("Current file: %s\n", __FILE__);

5.2 __LINE__

__LINE__宏表示当前源文件的行号。

printf("Current line: %d\n", __LINE__);

5.3 __DATE__

__DATE__宏表示当前编译日期。

printf("Compile date: %s\n", __DATE__);

5.4 __TIME__

__TIME__宏表示当前编译时间。

printf("Compile time: %s\n", __TIME__);

5.5 __FUNCTION__

__FUNCTION__宏表示当前函数的名称。

void myFunction() {printf("Current function: %s\n", __FUNCTION__);
}

6. 宏和函数的区别

  • 宏在预处理阶段进行文本替换,不进行参数类型检查和计算。
  • 函数在编译阶段进行实际调用,具有参数类型检查和计算。

6.1 宏示例

#define SQUARE(x) ((x) * (x))int main() {int a = 5;printf("Square of %d: %d\n", a, SQUARE(a));return 0;
}

6.2 函数示例

int square(int x) {return x * x;
}int main() {int a = 5;printf("Square of %d: %d\n", a, square(a));return 0;
}
http://www.dtcms.com/wzjs/347443.html

相关文章:

  • 网站图怎么做会高清图片营销和销售的区别
  • 企业网站策划谷歌chrome
  • 服装公司 网站怎么做营销说白了就是干什么的
  • 平面设计师证怎么考青岛seo整站优化公司
  • 小程序商城怎么推广广东搜索引擎优化
  • wordpress 大数据插件seo外链代发
  • 用asp.net做的 购物网站视频百度账户托管运营
  • 南昌网站建设设计网络营销主要做些什么
  • 网站robots怎么做新冠病毒最新消息
  • 石家庄做公司网站接单平台
  • java如何做网站精准推广引流5000客源
  • 天行健君子以自强不息网站建设百度一下你就知道网页
  • Wordpress 学校网站百度平台app下载
  • 松江做移动网站设计微博推广方案
  • 百度推广一个点击多少钱企业网站seo诊断报告
  • 深圳龙华的学校网站建设如何开网店
  • 网站seo操作广告联盟赚钱app
  • 网站app公众号先做哪个比较好seo兼职工资一般多少
  • asp 茶叶网站模板网站的优化策略方案
  • 重点专业建设网站站长工具网站
  • 自己做优惠劵网站江门百度seo公司
  • 企业注册查询官网网站排名seo
  • 企业网站建设哪家专业品牌推广的目的和意义
  • 网站建设发布教程视频百度热搜榜在哪里看
  • 公司网站建设需求网站搭建需要多少钱
  • 合肥做网站价格郑州网站建设推广
  • 国家企业信用公示信息系统公司搜索seo
  • 中国建筑企业排名关键词的分类和优化
  • 国外做旅游攻略的网站申请百度收录网址
  • 网站下雪的效果怎么做的百度seo怎么关闭