define :

宏定义,在预编译阶段就进行处理,简单的字符串代换,

typedefine:

编译时进行处理,不是简单的替换,而是对类型说明符的重新命名。被命名的标识符具有类型说明的功能,

代码说明

#include <stdio.h>
#define P1 char*
typedefine char* P2;int main()
{P1 x,y;P2 a,b;printf("by #define : %d\n",sizeof(x),sizeof(y));printf("by #define : %d\n",sizeof(a),sizeof(b));rturn 0;
}

结果分别是 4,1

和 4,4;

说明#define宏替换的P1 x,y;变为char* x, y  只有X为char*类型。Y为char类型。

C语言typedefine 和define的区别相关推荐

  1. C语言typedef与#define的区别

    typedef和#define define 没有参加编译,在预处理的时候就被替换掉了. typedef参加编译和链接.typedef是重命名,可以为枚举结构体等等重新命名,提高代码整洁. 一.typ ...

  2. C语言-typedef与#define的区别

    目录 1 typedef 1.1 将复杂的声明简单化 1.2 定义平台无关的类型 1.3 与struct的结合使用 1.4 typedef使用公式 2 typedef与#define的区别 2.1 执 ...

  3. C语言 const 和 define 区别 - C语言零基础入门教程

    目录 一.const 使用 1.const 修饰变量 2.const 修饰指针 3.const 修饰在函数名前面 4.const 修饰在函数名后面 5.const 修饰函数参数 二.define 使用 ...

  4. C语言 typedef 和 define 区别 - C语言零基础入门教程

    目录 一.typedef 简介 1.typedef 简化复杂的类型声明 A.定义普通变量 B.定义函数指针 C.定义结构体 2.定义与平台无关的类型 二.define 简介 三.typedef 和 d ...

  5. C++中typedef和define的区别

    typedef和#define的用法与区别 一.typedef的用法 在C/C++语言中,typedef常用来定义一个标识符及关键字的别名,它是语言编译过程的一部分,但它并不实际分配内存空间,实例像: ...

  6. C语言static和const的区别

    C语言static和const的区别 static: 1.不考虑类,static的作用:     1)第一个作用:隐藏.使得全局变量和函数对其它文件不可见,同时避免了不同文件的命名冲突.     2) ...

  7. const与define相比优点_const与#define的区别、优点

    const与#define的区别 编译器处理方式不同 define宏是在预处理阶段展开. 补充:预处理器根据以#开头的命令,修改原始的程序.比如我们常见的#include 命令告诉处理器读取系统头文件 ...

  8. typedef与#define宏区别

    先让我们了解一下typedef的功能,typedef简单来说就是给类型取一个别名: 如 typedef int New   那么int就有一个别名叫New了,以后size就和int这个类型一共用法了. ...

  9. c语言错误c4430,C 语言 typedef 与 #define 比较

    Alvin typedef 与 #define 的区别 1. 执行时间不同 关键字 typedef 在编译阶段有效,由于是在编译阶段,因此 typedef 有类型检查的功能. #define 则是宏定 ...

最新文章

  1. Linux系统基础-管理之用户、权限管理
  2. 【每日一英语】“baker's dozen”是“十几”呢?
  3. Bossy智能便贴:让工作更有效率
  4. 试用过期_过期的护肤品彩妆你都是怎么处理的呢?这样做,可以省一大笔钱
  5. 天地图专题五:在天地图上绘制电子区域并保存数据
  6. Docker与虚拟机技术
  7. Android 设备上实现串口的移植
  8. 【宋红康 MySQL数据库 】【高级篇】【10】索引的创建与删除_MySQL8.0的索引新特性
  9. python建站部署_2个Python学习网站制作教程
  10. windows下安装mathtype公式编辑器记录
  11. linux进程调度器,Linux进程调度器基础讲解
  12. 未能将文件 *** \bin\Release\**.dll 复制到 \obj\Release\Package\PackageTmp\bin\***.dll VS发布程序报错 解决办法
  13. 视频编解码 — DCT变换和量化
  14. 1.7 微信推送早安及天气预报信息(Springboot框架)(一)
  15. 51单片机 | LCD12864 液晶显示实验
  16. 浅谈IOC--说清楚IOC是什么
  17. 重叠社区发现-LFM算法
  18. 【网络工程】7、实操-万达酒店综合项目(一)
  19. 那些年啊,那些事——一个程序员的奋斗史 ——48
  20. 美团王兴的创业三原则

热门文章

  1. 预防和检测如日中天?事件响应表示不服
  2. Linux 多核下绑定硬件中断到不同 CPU(IRQ Affinity)
  3. 开发高级 Web 部件
  4. OpenXLive 0.9.9 SDK发布,增加对SNS的支持
  5. C#基础:Lambda表达式
  6. 13--长度最小的子数组
  7. Python 第三方模块之 numpy.random
  8. 机器学习之 朴素贝叶斯、贝叶斯网络
  9. 案例 自动办公_1300张办公系列前台参考图,请您查收!
  10. DFT 与 ATPG综 述