【C开发】预编译处理命令(#define、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

 

 

 

 

 

posted @ 2013-01-17 20:54  断肠人在刷牙牙  阅读(826)  评论(2编辑  收藏  举报