typedef与#define的区别
2018-02-02 09:56
375 查看
#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> #include<string.h> //1、用于名字比较长的类型 typedef unsigned int u32; //2、用于结构体 typedef struct MyStruct { int a; int b; char c; }MyStruct; int main(void) { unsigned int a; u32 b; printf("%d,%d\n",sizeof(a),sizeof(b));//都是4 //定义结构体,如果不用typedef则必须加struct关键字 struct MyStruct m1; MyStruct m2; printf("sizeof():%d\n",sizeof(m1)); system("pause"); return 0; }
typedef和define的区别:
1、#define 是 C 指令,用于为各种数据类型定义别名,typedef是关键字,前不需要加#
2、typedef 仅限于为类型定义符号名称,#define 不仅可以为类型定义别名,也能为数值定义别名,比如您可以定义 1 为 ONE。
3、typedef 是由编译器执行解释的,#define 语句是由预编译器进行处理的
这一篇讲的比较详细:https://www.cnblogs.com/simonLiang/p/5738719.html
相关文章推荐
- typedef和#define的用法与区别
- typedef与#define的区别
- typedef和#define的区别
- typedef和#define的用法与区别
- 宏定义#define和typedef的区别和典型范例题目辨析
- #define跟typedef的区别
- typedef和#define的用法与区别
- #define与typedef的区别
- 【转】typedef和#define的用法与区别
- typedef与#define的区别
- typedef和#define的用法与区别
- typedef和#define的用法与区别
- #define、const、typedef的区别
- typedef 与 #define的区别:
- typedef和#define的用法与区别
- typedef和#define的用法与区别
- typedef和#define的用法与区别
- Typedef和#define的区别
- typedef和#define的区别和联系
- #define和typedef的区别