`
hulianwang2014
  • 浏览: 689950 次
文章分类
社区版块
存档分类
最新评论
  • bcworld: 排版成这样,一点看的欲望都没有了
    jfinal

#define 和 typedef的区别

 
阅读更多

最近看linux数据结构,对于大范围使用typedef很不适应,上网查资料,发现好多的错误,特此更正下,有错的话请轻喷。


#define宏常量只是简单的进行值替换,枚举常量是真正意义上的常量
#define宏常量无法被调试,枚举常量可以

#define宏常量无类型信息,枚举常量是一种特定类型的常量

typedef用于给一个已经存在的数据类型重命名
typedef并没有产生新的类型
typedef重定义的类型不能进行重定义的类型不能进行unsigned和signed扩展

typedef是给已有类型取别名
#define为简单的字符串替换,无别名的概念







分享到:
评论

相关推荐

    #define和typedef的使用

    介绍#define和typedef的区别于使用

    #define VS typedef

    #define是预处理指令 typedef是在编译时处理的 typedef与#define的区别

    C语言中#define与typedef的互换细节详解

    本篇文章是对C语言中#define与typedef的互换细节进行了详细的分析介绍,需要的朋友参考下

    #define宏定义——只替换,不计算! #define VS typedef

    #define的用法与#define和typedef的区别详解。 简单的define定义#define MAXTIME 1000,define的“函数定义”,宏的单行定义,define的多行定义,如何定义宏、取消宏,条件编译等等。

    C语言 #define用法集锦[修正版]

    #define用法集锦 1.简单的define定义 #define MAXTIME 1000 ...这是应该使用typedef 来代替define,这样a 和b 就都是int 型指针了。 所以我们在定义的时候,养成一个良好的习惯,建议所有的层次都要加括号。

    define与typedef 区别

    typedef int * pint ; #define PINT int * 那么: const pint p ;//p不可更改,但p指向的内容可更改 const PINT p ;//p可更改,但是p指向的内容不可更改。 (const pint p === ( const pint )p) (const PINT p ...

    typedef和#define的用法与区别

    文章主要介绍了typedef和#define的用法与区别

    哈夫曼树创建(.cpp )

    #define N 50 /*叶子结点数*/ #define M 2*N-1 /*树中结点总数*/ typedef struct { char data[5]; /*结点值*/ int weight; /*权重*/ int parent; /*双亲结点*/ int lchild; /*左孩子结点*/ int rchild; /*右...

    typedef与define的区别

    typedef与define的用法,说明typedef和define的区别及各自的特殊用法

    C语言自学笔记—typedef与#define的区别

    定义的类型不同,typedef定义的是类型,而#define不只是可以为类型取别名,还可以定义常量、变量、编译开关等。 书写方式不同,typedef是定义类型在前,定义对象在后,而#define正好相反 typedef unsigned char u8; ...

    VC有向图最短路径算法程序

    typedef struct { vextype vexs[MAXLEN]; //vextype型的vexs[MAXLEN]数组存放顶点 edgetype arcs[MAXLEN][MAXLEN]; //edgetype型的arcs[MAXLEN][MAXLEN]二维数组存放边的权值 int vexnum,arcnum; }MGRAPH; ...

    #define,const,typedef三者联系与区别

    文章简单介绍了#define,const,typedef三者联系与区别

    数据结构(c语言实现)

    /*所有数组从下标1开始使用,这是为了和顶点表示统一*/ for(i=1;i<=graph->n;i++) graph->vexs[i]=i; for(i=1;i<=graph->n;i++) for(j=1;j<=graph->n;j++) { graph->edges[i][j]=MAXINT;/*缺省值均为无穷大*/ ...

    彩虹贪吃蛇1.exe

    typedef char bool; #define up 'w' #define down 's' #define left 'a' #define right 'd' #define false 0 #define true 1 #endif void gotoxy(int x,int y) { COORD coord; coord.X=x; coord.Y=y; ...

    C语言迷宫设计

    #define M2 12 //M2*N2为实际使用迷宫数组大小// #define N2 11 #define MAXLEN M2 //栈的长度// #define Null -100 #define True 1 #define False 0 int M=M2-2,N=N2-2; //M*N为迷宫的大小// typedef struct{ //...

    数据结构二叉树程序代码.txt

    INIT_SIZE 100 #define STACKINCREMENT 10 #define MAX_TREE_SIZE 100//二叉树的最大结点 #define TRUE 1 #define FALSE 0 #define OVERFLOW -2 #define telemtype char #define selemtype char typedef telemtype ...

    数据结构#include

    #define ok 1 #define error 0 #define overflow -1 #define LIST_INIT_SIZE typedef int ElemType; typedef int Status; typedef struct LNode{ ElemType data; struct LNode *next; }LNode,*LinkList; #...

    define与typedef区别与联系

    本文介绍了C语言中两个关键字define和typedef之间的区别以及使用时应注意的问题。

Global site tag (gtag.js) - Google Analytics