读书人

浅谈宏定义运用技巧

发布时间: 2013-03-21 10:08:17 作者: rapoo

浅谈宏定义使用技巧
1、宏定义介绍 宏定义又称为宏替换,简称宏。它是在预处理阶段用预先定义的字符串替代标识符的过程。其定义的一般形式为:
#define 标识符 字符串
宏定义中的标识符都采用大写,这是编程中一种约定俗成的习惯。在了解如何使用宏定义之前,我们先来了解使用宏的过程中需要注意的几个要点。
1)宏替换不做语法检查,所以在使用的时候要格外小心。
2)宏替换通常在文件开头部分,写在函数的花括号外边,作用域为其后的程序,直到用 ?
3)# u n d e f 命令终止宏定义的作用域。
4)不要在字符串中使用宏,如果宏名出现在字符串中,那么将按字符串进行处理2、宏定义会用的意义 1 )减少不必要的修改,提升程序的可预读性 2 )提升代码的可移植性 3、 如何使用宏定义实现变参

int main(){#pragma pack(push)#pragma pack(2)    struct stu1_{        char name[20];        char num[20];        int score;        char sex;    }stu1;    printf("stu1 占用的内存大小为:%d\n",sizeof(stu1));#pragma pack(pop)    struct stu2_{        char name[20];        char num[20];        int score;        char sex;    }stu2;    printf("stu2 占用的内存大小为:%d\n",sizeof(stu2));    return 0;}
运行结果与前面代码的运行结果完全一致。看看修改的地方,在设置2 字节对齐方式之前添加了一句代码“# p r a g m a p a c k ( p u s h ) ”,其作用是保存当前默认的字节对齐方式,而把下面原本的“# p r a g m a p a c k ( ) ”修改为“# p r a g m a p a c k ( p o p ) ”,其作用是恢复默认的字节对齐方式,可以看出这里代码的功能与之前代码的功能完全一致。

读书人网 >编程

热点推荐