L20#和##使用
来源:互联网 发布:mac怎么装office软件 编辑:程序博客网 时间:2024/05/17 02:30
L20#和##使用
1. #
#include <stdio.h> #define CALL(f, p) (printf("Call function %s\n", #f), f(p)) int square(int n) { return n * n; } int f(int x) { return x; } int main() { printf("1. %d\n", CALL(square, 4)); printf("2. %d\n", CALL(f, 10)); return 0; }
作用: #在宏定义中将后面的任何元素转换为一个字符串
2. ##
作用: ##用于在预编译期粘连两个符号
范例:结构体定义
#include <stdio.h> #define STRUCT(type) typedef struct _tag_##type type;\ struct _tag_##type STRUCT(Student) { char* name; int id; }; int main() { Student s1; Student s2; s1.name = "s1"; s1.id = 0; s2.name = "s2"; s2.id = 1; printf("%s\n", s1.name); printf("%d\n", s1.id); printf("%s\n", s2.name); printf("%d\n", s2.id); return 0; }
0 0
- L20#和##使用
- L20函數:內嵌函數和閉包
- L20 zip压缩工具,tar打包,打包并压缩
- l20范数最小化求解系数方程_贪婪组稀疏方法(Greedy group sparsity)
- #和##使用
- 树莓派-概述和使用-配置和使用
- 【java解惑】&和&&、|和||使用
- 安装和使用 Statspack
- return和finally使用
- 使用和生成库
- 配置和使用TFTP
- sp_executesql介绍和使用
- 学习和使用skyeye
- Samba介绍和使用
- return和finally使用
- 定义和使用全局变量
- httpHandlers使用和问题
- httpHandlers使用和问题
- 安卓获得通讯录联系人
- L19#pragma
- poj 3250 Bad Hair Day (单调栈)
- 15HD_OJ——母牛的故事
- 5.2-2
- L20#和##使用
- 《战略管理》第一章<什么是战略管理>读书笔记
- L21指针基础
- 【资源分享】好用的网站
- L22数组基础
- 排版系统Latex傻瓜方式使用(论文排版)
- Android Matrix图形变换
- hdu1294 Rooted Trees Problem(重复组合+整数拆分+DFS)
- 文件共享