标签:类型 ret class 预处理 inf type max 原理 编译
/* 目录: 一 #define和typdef 二 宏函数 */
一 #define和typdef
#define 原理: 编译器转换,书写方便,便于程序维护。 typedef 原理: 用于类型重定义
// 注意区别 : #define typedef #include "stdafx.h" #include <typeinfo.h> #define PDATA int * typedef struct SNode { int nNum; int data; SNode *pNext; }SNode, *pSNode; int main(int argc, char *argv[]) { PDATA dNum1 = NULL, dNum2 = 0; // 数据类型 : dNum1 - 指针; 数据类型 : dNum2 - int printf("%s\n", typeid(dNum1).name()); printf("%s\n", typeid(dNum2).name()); pSNode sNum1 = NULL, sNum2 = NULL; // 数据类型 : sNum1 - 指针; 数据类型 : sNum2 - 指针 printf("%s\n", typeid(sNum1).name()); printf("%s\n", typeid(sNum2).name()); return 0; } /* int * int struct SNode * struct SNode * */
#include "stdafx.h" #include <typeinfo.h> #define PDATA int * typedef int* PNODE; int main(int argc, char *argv[]) { PDATA nNum1, nNum2; printf("nNum1 = %s\n", typeid(nNum1).name()); printf("nNum2 = %s\n", typeid(nNum2).name()); PNODE nNum3, nNum4; printf("nNum3 = %s\n", typeid(nNum3).name()); printf("nNum4 = %s\n", typeid(nNum4).name()); return 0; } /* nNum1 = int * nNum2 = int nNum3 = int * nNum4 = int * */
二 宏函数
#include "stdafx.h" #include <typeinfo.h> #define max(i, j) i > j ? i : j int main(int argc, char *argv[]) { int nNum = 3; int nNum2 = 4; int nMax = max(nNum, nNum2); printf("%d\n", nMax); return 0; } /* 4 */
标签:类型 ret class 预处理 inf type max 原理 编译
原文地址:https://www.cnblogs.com/huafan/p/11518670.html