#include <stdio.h>
#define peach int
typedef int banana;int main(void){unsigned peach a;unsigned banana b;return 0;
}

上面的代码中,

unsigned banana b;

该行编译会出现错误。

因为typedef是一种彻底的“封装”类型,而#define只是简单的文本替换。

再看,

#include <stdio.h>
#define peach char*
typedef char* banana;int main(void){peach a,b;banana c,d;printf("sizeof(a)=%d\n",sizeof(a));printf("sizeof(b)=%d\n",sizeof(b));printf("sizeof(c)=%d\n",sizeof(c));printf("sizeof(d)=%d\n",sizeof(d));return 0;
}

运行结果为:

sizeof(a)=4
sizeof(b)=1
sizeof(c)=4
sizeof(d)=4

转载于:https://www.cnblogs.com/xinyuyuanm/archive/2013/04/06/3002675.html

《c专家编程》笔记--define和typedef的区别相关推荐

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

    C语言 #define 与 typedef 的区别与用法 (qq.com) 在C语言编程中,typedef 和 #define是最常用语句,可能很多工作过几年的工程师都没有去深究过它们的一些用法和区别 ...

  2. #define与typedef的区别!

    #define与typedef的区别! #define dPS struct s * typedef struct s * tPS; 以上两种情况的意图都是要定义 dPS 和 tPS 作为一个指向结构 ...

  3. #define 和typedef的区别

    typedef和define的详细区别 2011-04-19 15:11 firnow firnow 字号:T | T 对于都可以用来给对象取一个别名的Typedef和define来说,是有区别的.本 ...

  4. #define、typedef与const

    #define.typedef与const #define(宏定义)只是简单的字符串代换(原地扩展),它本身并不在编译过程中进行,而是在这之前(预处理过程)就已经完成了. typedef是为了增加可读 ...

  5. C专家编程 读书笔记

    在ANSI C中,如果要声明空参数表,则必须使用关键字void进行显式声明: CPU,16位地址总线,能够访问2^16也就是64KB的内存:20位地址总线,可以访问2^20也就是1MB的内存:32位地 ...

  6. C专家编程-读书笔记(书本顺序)

    C语言设计哲学:   一切工作程序员自己负责.   语言中的所有特性都不需要隐式的运行时支持.   程序员所做的都是对的.   程序员应该知道自己在干什么,并保证自己的所作所为是正确的. ====== ...

  7. c专家编程3、4章读书笔记

    师兄毕业了,留给我一本c专家编程.今日略读几章,发现此书内容尚可,就是翻译的不好,导致有些内容无法一下子就理解,现就其中的几点内容做详细分析. 1."3.3 优先级规则"与&quo ...

  8. 一篇特别长的总结(C专家编程)

    博客链接: http://codeshold.me/2017/02/expert_c_programming.html 读一本书必输出一篇笔记或者总结!!! <C专家编程>这本书很早看完了 ...

  9. C语言专家编程题,一篇特别长的总结(C专家编程)

    读一本书必输出一篇笔记或者总结!!! <C专家编程>这本书很早看完了,但整理笔记却断断续续的花了三天时间,这从侧面更说明了这本书的经典了(尽管不到300页)! 至此C经典著作<C T ...

最新文章

  1. RNA-seq分析-数据库
  2. python使用fpdf生成发票格式的pdf文件包含:文字、图片logo、表格、条形码等;
  3. 后浪们 : 难道要先结婚后恋爱?
  4. html web form id,小程序如何获取多个formId实现详解
  5. Python爬虫初学(三)—— 模拟登录知乎
  6. SQLServer权限
  7. 当鼠标移入时切换背景图时闪烁的问题
  8. python能做什么-python能用来做什么?这3大主要用途你一定要知道!(实用)
  9. python 获取文件大小_Python解决女朋友看电影没字幕的需求
  10. python用递归法将一个整数n转化为字符串_Python学习之旅 —— 基础篇(五)字符串格式化、递归、生成器迭代器...
  11. 外螺纹对照表_常用螺纹规范对照表
  12. 10种方法缓解所显示器造成的眼睛疲劳
  13. MVC模式初体验 properties解析工具 与 Dao层的结合 —————— 开开开山怪
  14. YOLOv4原文翻译 - v4它终于来了!
  15. pyaudio usb playback_「APPSO」苹果还会为 iPhone 换上 USB-C 吗?
  16. Groovy探索之MOP 十五 方法名的动态性(2)
  17. 扩散模型探索:DDIM 笔记与思考
  18. Flutter中解决AndroidX包与Support包冲突问题
  19. leetcode:递增的三元子序列
  20. 工艺参数对铝合金热轧过程中亚晶粒大小形成的影响

热门文章

  1. 股市大涨是不是楼市就要跌了?
  2. 专家建议用南方的养老金拿去救济东北,网友炸锅了
  3. 我以为信用卡多就是好事,谁知道……
  4. 马云狂炸近百亿,你的借呗额度涨了吗?
  5. 到底逾期几次才会影响贷款申请?
  6. sql 中位数_【PL/SQL 自定义函数】 常用场景
  7. vue seo关键词设置_SEO关键词优化排名的几个技巧
  8. 485 九针头_张元英安宥真还是孩子,手臂还有疫苗接种痕迹,九针头太吓人
  9. python批量识别图中文字自动命名_python实现批量命名照片
  10. Linux 终端配置