预处理器指令 #include 、 #define
来源:互联网 发布:三星共和国 知乎 编辑:程序博客网 时间:2024/05/18 02:39
总结:
#include、 #define 本质都是替换(replace),区别在于
#include 是替换文件内容到当前位置,
#define 是替换常量内容到当前位置;
2015年5月14日星期四 16:39:50
--------------------------------------------------------------正文---------------------------------------------------------
#include是文件包含指令,例如:
#include <stdio.h>
这条指令会导致预处理器把#include后面跟的文件(即stdio.h文件)的内容替换到这条指令的位置。
如果文件名由< >括起来,将表示在依赖于系统的目录中寻找这个文件。
如果文件名由" "括起来,系统将会首先在当前程序目录中查找对应文件,如果找不到,再到其他依赖于系统的目录中寻找。
#define是宏定义,例如:
#define a 45
这条指令会导致程序所有单独出现的a被替换成45.
一, #include和 #define 预处理器指令
在C程序有两种代码不是C语言,他们是预处理器指令(preprocessor directive)。预处理指令是以符号#开始,它们只在编译程序是发生作用,不会再运行程序时产生任何行为。
最常用的预处理器指令是:
#include;
#define
1.1 包含文件
#include 有两种格式:
1)#include <filename>
2) #include "filename"
#include 会在程序被编译前,把filename的文件内容替换了。
当安装编译器时,安装程序会在硬盘上创建一个独立的位置(一个目录中)存放编译器附带的各种#include文件。当使用某个内置#include文件时,要使用带尖括号 < 和 > 的#include格式。
说明: main()不是内置函数,main()是一个必须提供的函数。printf()对应的#includeinclude文件是STDIO.H(标准输入/输出),strcpy()对应的#include文件是STRING.H
使用自己的头文件(head file),需要用第二种形式的预处理指令---带引号的形式。如果使用带引号,
C语言会首先在程序所在的磁盘目录中寻找,然后再到内置的#include目录中寻找。
技巧:鉴于这种搜索顺序,可以自己编写头文件,然后命名为和内置的头文件相同的文件名,这样文件就能够代替C语言的文件了。
注意: #include指令最好放在main()之前
1.2 定义常量
#define预处理指令用来定义常量(constant)。C常量其实就是字面量,就是不会改变的值。#define预处理器指令允许给字面量命名。定义的变量被称为命名常量(named constant) 和定义常量(defined constant)
#define指令格式:#define CONSTANT constantDefinition
例子: #define MYNAME "Paula Holt"
#define PI 3.14159
说明:定义常量名要使用大写字母。这个是约定俗成的,和普通变量进行区分,大写更加易于辨认。定义的常量有点像是全局变量
注意:1,不要把为内置函数写得#include语句放在main()后面。在mian()之前用#include包含头文件,可以再任何时候用#include包含自己写的头文件。
2,不要把定义常量当成变量看待。与变量不同,一旦常量被定义之后,就不能在常量中存储数据。
#include<stdio.h> #include "mycode.h" #defineMINORDER 50 #define COMPNAME "Amalgamated Go."
二输入 (使用scanf)
- 预处理器指令 #include 、 #define
- 编译预处理--#include包含指令, #define宏定义指令, #if条件编译指令
- 预处理指令define
- 预处理指令(2) - #define
- 预处理指令--define
- 预处理器的简单介绍#include、#define、#ifdef
- 深度分析define预处理指令
- #define和预处理指令总结
- C语言预处理指令 #define
- 预处理指令(神秘的include#)
- #define 预处理指令(C++,C#,VB.NET)
- #define和预处理指令的使用
- #define和预处理指令的使用。
- 预处理器(#define)
- 预处理指令#include包含文件的查找
- C语言的预处理指令-include指令
- #define / #undef /#progma 预处理器
- C# 预处理器指令
- 样条插值曲线类型及其优缺点说明
- shell编程——sed用法之参数详解
- How can I fix a locale warning from perl?
- Oracle expdp为什么比exp快,原理是什么
- 做研究的八个层次
- 预处理器指令 #include 、 #define
- IP地址存储转换
- 生活常用功能数据接口API
- shell中exec命令
- 【Linux开发】linux线程同步方式信号量介绍及实例
- Unity UGUI 父对象的透明度能直接影响到子对象的显示
- 跨平台移动端开发框架NativeScript 发布正式版本
- 类似微信的联系人根据字母排列查询
- iOS工程中的info.plist文件的完整研究