【C开发】预编译处理命令(#define、typedef、#include、#运算符)

本文深入探讨了C语言中预处理器的三个关键特性:宏定义、typedef和#include。详细解释了宏定义如何在编译前进行字符串替换,typedef的作用在于给已存在的类型提供别名,而#include用于引入外部文件。通过实例展示了它们的应用及区别。

1、#define

宏定义,在编译前由预处理器对代码作字符串的替换。宏定义不是语句,后面不加“;”。

2、typedef

typedef是在编译时处理的,在自己的作用域内给一个已经存在的类型一个别名

 

3、例: typedef int * int_ptr;  与  #define int_ptr int * 

作用都是用int_ptr代表 int * ,但是二者不同,正如前面所说 ,#define在预处理 时进行简单的替换,而typedef不是简单替换 ,而是采用如同定义变量的方法那样来声明一种类型。

即相当于:

#define int_ptr int * 
int_ptr a, b; //相当于int *a, b; 只是简单的宏替换

typedef int* int_ptr;
int_ptr a, b; //a, b 都为指向int的指针, typedef为int* 引入了一个新的助记符

4、#include “ ”与< >之间的区别

“ ”  :是从用户当前目录寻找包含文件,若找不到就会到库函数所在目录中寻找,再找不到就报错。

< >:是直接在库函数所在目录中寻找,找不到就报错。

5、#运算符

可以用来连接字符串。例:

#include<stdio.h> 

#define PR(n) printf(#n"=%d\n", n) 

int main() 
{ 
    int a=3, b=4, c=5; 
    PR(a); 
    PR(b); 
    PR(c); 
    return 0; 
} 

运算结果:

a=3

b=4

c=5

 

 

 

 

 


<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值