预处理...
2016-01-02 07:24
155 查看
#include <stdio.h>
struct Student {
char * name;
int age;
};
#define Student struct Student
#define SUM(a) (a + a)
#define MULTIPLY(a, b) (a * b)
#define mPrintf(a) printf("a = %d\n", a)
// 宏定义多个语句.
#define M3(m, n) \
m = c + 2; \
n = c * 2;
#define MAX(a, b) a > b ? a : b
int main(int argc, const char * argv[])
{
// #define M 10
// #undef M
Student stu = { "项羽", 55 };
printf("%s,%d\n", stu.name, stu.age);
int a = SUM(3);
printf("%d\n", a);
int b = MULTIPLY(3, 4);
printf("%d\n", b);
mPrintf(b);
// 宏定义多个语句.
int c = 5;
int m, n;
M3(m, n);
printf("%d %d\n", m, n);
//************************ stone ***
int max = MAX(55, 116);
printf("%d\n", max);
int i = 55, j = 116;
int mm = i > j ? i : j;
printf("%d\n", mm);
return 0;
}
相关文章推荐
- typedef的使用...typedef int (*Func)(int,int); Func func = sum;
- Leetcode: Maximum Product of Word Lengths
- juqery中checkbox的click事件
- *Paint House
- 极客DIY:使用Arduino制作一块开源手表
- ios学习顺序表
- 二.OC基础--1,对象的存储细节,2,#pragma mark指令,3,函数和对象方法的区别,4,对象和方法之间的关系 ,5.课堂习题
- 一.OC基础之:1,OC语言的前世今生 ,2,OC语言入门,3,OC语言与C的差异,4,面向对象,5,类和对象的抽象关系,6,类的代码创建,7,类的成员组成及访问
- 1.import和include区别 2.NSLog 和printf区别 3.创建对象做的事情 4. 类和对象方法比较 5 匿名对象优缺点 6. 封装 7.作用域范围 8.id和instancetype 9.自定义构造方法规范 10.nil和Nil及NULL、NSNull区别
- C语言-1.static 和 extern使用,2.文件,3.数据块读写
- C语言-1.结构体,2.枚举,3.typedef,4.预处理指令的概念,5.条件编译
- 字符串输出输入函数,const修饰符,内存分区,动态内存管理,指针和函数,结构体
- c语言和oc对比
- Leetcode: Shortest Distance from All Buildings
- DELPHI编写服务程序总结
- 12306出现了这么多年为何还是如此渣
- 指针和数组的面试题
- [ES6] Function Params
- 小娜名言:有问题尽管问我i
- 【Linux探索之旅】第四部分第四课:分析网络,隔离防火