011 预处理 #define

Posted huafan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了011 预处理 #define相关的知识,希望对你有一定的参考价值。

 

/*
目录:
   一 #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的主要内容,如果未能解决你的问题,请参考以下文章

c语言 define 怎么用的

C语言#define预处理详解

C语言 预处理二(宏定义--#define)

18)C语言之#define预处理

预处理器指令#define 特定于我的机器

程序环境和预处理