最近看linux数据结构,对于大范围使用typedef很不适应,上网查资料,发现好多的错误,特此更正下,有错的话请轻喷。
#define宏常量只是简单的进行值替换,枚举常量是真正意义上的常量
#define宏常量无法被调试,枚举常量可以
#define宏常量无类型信息,枚举常量是一种特定类型的常量
typedef用于给一个已经存在的数据类型重命名
typedef并没有产生新的类型
typedef重定义的类型不能进行重定义的类型不能进行unsigned和signed扩展
typedef是给已有类型取别名
#define为简单的字符串替换,无别名的概念
分享到:
相关推荐
介绍#define和typedef的区别于使用
#define是预处理指令 typedef是在编译时处理的 typedef与#define的区别
本篇文章是对C语言中#define与typedef的互换细节进行了详细的分析介绍,需要的朋友参考下
#define的用法与#define和typedef的区别详解。 简单的define定义#define MAXTIME 1000,define的“函数定义”,宏的单行定义,define的多行定义,如何定义宏、取消宏,条件编译等等。
#define用法集锦 1.简单的define定义 #define MAXTIME 1000 ...这是应该使用typedef 来代替define,这样a 和b 就都是int 型指针了。 所以我们在定义的时候,养成一个良好的习惯,建议所有的层次都要加括号。
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的用法与区别
#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不只是可以为类型取别名,还可以定义常量、变量、编译开关等。 书写方式不同,typedef是定义类型在前,定义对象在后,而#define正好相反 typedef unsigned char u8; ...
typedef struct { vextype vexs[MAXLEN]; //vextype型的vexs[MAXLEN]数组存放顶点 edgetype arcs[MAXLEN][MAXLEN]; //edgetype型的arcs[MAXLEN][MAXLEN]二维数组存放边的权值 int vexnum,arcnum; }MGRAPH; ...
文章简单介绍了#define,const,typedef三者联系与区别
/*所有数组从下标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;/*缺省值均为无穷大*/ ...
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; ...
#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{ //...
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 ...
#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; #...
本文介绍了C语言中两个关键字define和typedef之间的区别以及使用时应注意的问题。