首页 > 其他 > 详细

011 预处理 #define

时间:2019-09-14 12:17:32      阅读:79      评论:0      收藏:0      [点我收藏+]

 

/*
目录:
   一 #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

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

(1)
(1)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!