关闭

# define

52人阅读 评论(0) 收藏 举报
分类:

1、#define

  • #开头的都是预处理命令
  • 末尾不需要加分号,如果有分号,替换时会连同分号一起替换
  • define只是做简单的文本替换,但若是以字符串的形式被调用,则不会进行替换。例如:#define X 25*12   printf(" I X O");其中X不会进行替换
  • #define 的作用域是从宏定义开始,到源程序结束,若想提前结束,使用#undef X


2、define 与typedef区别

  • 处理时间:define是在预处理阶段完成替换;typedef是在编译时进行处理
  • typedef是对类型说明符的重命名,而define只是简单的代换;
                #define P1 int *

                typedef int * P2

                P1  a,b;    //相当于 int * a,b;   a是int 型指针,而b是int整数

                P2 a,b;  //相当于 int *a,*b; a、b都是int型指针

3、define用法

  • #define 宏名(形参)  函数实现    注意:宏名与(形参)之间不能有空格
  • 形参不占内存空间
  • 当宏定义有多行,在每行结尾加“/”,最后一行不需要








0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:11202次
    • 积分:273
    • 等级:
    • 排名:千里之外
    • 原创:17篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条