码迷,mamicode.com
首页 > 其他好文 > 详细

011 预处理 #define

时间:2019-09-14 13:59:47      阅读:72      评论:0      收藏:0      [点我收藏+]

标签:类型   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
*/

 

011 预处理 #define

标签:类型   ret   class   预处理   inf   type   max   原理   编译   

原文地址:https://www.cnblogs.com/huafan/p/11518670.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!