typedef和define的区别、typedef的具体用法

typedef最核心的用法:给数据类型取别名,这个别名既可以是此数据类型的替换,也是指向此数据类型的指针。

具体用法(对普通数据类型取别名):

 对结构体数据类型取别名:

 typedef与define的区别:

define只是单纯的替换,而typedef是对数据类型的封装,两个方面比较:

1、代码比较:

typedef:

define:

 unsigned integer会使代码报错,原因是typedef只能对数据类型进行整体封装,不能局部封装,所以当你想要对unsigned int类型进行取别名时,只能整体取。修改代码:

2、代码比较:

typedef:

 define:

define这里为什么报错呢?是因为#define integer int*只能声明一个指针i,对第二个j是个int类型的数据,相当于int *i,j;所以变量j不能赋值一个地址,即会报错。修改代码:

 所以typedef对int *整体封装后,不管后面跟多少变量名,都会被声明为指针,而define只能声明一个指针。

 

 

lxwyyds
关注 关注
  • 13
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
definetypedef数据类型表示的区别
.net学习交流
06-24 2229
definetypedef区别与联系1) #define是预处理指令,在编译预处理时进行简单的替换,不作正确性检查,不关含义是否正确照样带入,只有在编译已被展开的源程序时才会发现可能的错误并报错。例如: #define PI 3.1415926 程序中的:area=PI*r*r 会替换为3.1415926*r*r 如果你把#define语句中的数字9 写成字母g 预处理也
C语言 typedef和#define用法区别,以及陷阱
weixin_55751709的博客
09-25 493
C语言 typedef和#define用法区别,以及陷阱
typedefdefine区别
09-02
typedefdefine用法,说明typedefdefine区别及各自的特殊用法
[C++] Typedefdefine区别
MoaKap的专栏
11-28 2729
  [C/C++] Typedefdefine区别MoakapTypedefdefine都可以用来给对象取一个别名,但是两者却有着很大不同。1. 首先,二者执行时间不同关键字typedef在编译阶段有效,由于是在编译阶段,因此typedef有类型检查的功能。Define则是宏定义,发生在预处理阶段,也就是编译之前,它只进行简单而机械的字符串替换,而不进行任何检查。
typedef和#define用法区别
风生水起
06-10 1495
一、typedef用法在C/C++语言中,typedef常用来定义一个标识符及关键字的别名,它是语言编译过程的一部分,但它并不实际分配内存空间,实例像:typedef    int       INT;typedef    int       ARRAY[10];typedef   (int*)   pINT;typedef可以增强程序的可读性,以及标识符的灵活性,但它也有“非直观性
typedefdefine的思考
wangxiaohigh
12-02 122
typedef 一,定义 typedef:声明自定义数据类型,配合各种原有数据类型,用来简化编程。 二,用途 1,便于移植 typedef int INT32; INT32 a;//定义整型变量 (INT32) a;//强制转换类型 为什么有int 还要取同名 INT32 ? 答:A微处理器 int 16位,long 32位 B微处理器 short 16位...
typedefdefine的详细区别
07-31
typedefdefine的详细区别 在计算机编程语言中,typedef和#define是两个常用的关键字,都是用于声明和定义类型的,但是它们之间有着很大的区别。 首先,typedef是一种在计算机编程语言中用来声明自定义数据类型,...
typedef和#define用法以及区别
09-04
总的来说,理解`typedef` 和 `#define` 的区别,并根据具体情况选择合适的工具,是编写高效且易于维护的C/C++代码的关键。在现代C++编程中,通常推荐使用`typedef` 或其C++11后的替代品`using` 关键字,以及`const` ...
typedefdefine区别
11-08
typedefdefine区别 typedefdefine 是 C/C++ 语言中的两个重要概念,它们都是用于定义标识符或常量的,但它们之间存在着一定的区别。 首先,typedef 用于定义一个标识符或关键字的别名,它是语言编译...
#definetypedef
ai1053154867的博客
09-25 474
#define(宏定义)只是简单的字符串代换(原地扩展),它本身并不在编译过程中进行,而是在这之前(预处理过程)就已经完成了。 typedef是为了增加可读性而为标识符另起的新名称(仅仅只是个别名),它的新名字具有一定的封装性,以致于新命名的标识符具有更易定义变量的功能,它是语言编译过程的一部分,但它并不实际分配内存空间。 一般都遵循#define定义“可读”的常量以及一些宏语...
typedefdefine有什么区别
热门推荐
小肥羊快快跑
07-04 8万+
typedefdefine都是替一个对象取一个别名,以此增强程序的可读性,区别如下:(1)原理不同#define是C语言中定义的语法,是预处理指令,在预处理时进行简单而机械的字符串替换,不作正确性检查,只有在编译已被展开的源程序时才会发现可能的错误并报错。typedef是关键字,在编译时处理,有类型检查功能。它在自己的作用域内给一个已经存在的类型一个别名,但不能在一个函数定义里面使用typede...
#definetypedef
weixin_34183910的博客
01-11 457
1、#define:预编译指令,在预编译的时候,进行文本替换。 2、typedef:编译时处理,为类型取一个别名。 3、#definetypedef的顺序是相反的,记住typedef就行了。typedef为类型取一个别名,前面是真名,后面才是别名。 4、避免使用#define,因为#define只是简单的文本替换,替换后,会出现优先级,以及组合成其他的词,不可预知。...
definetypedef区别
小程的博客
12-03 2万+
definetypedef大体功能都是使用时给一个对象取一个别名,增强程序的可读性,但它们在使用时有以下几点区别: 1.定义不一样 define定义后面不用加分号,并且它的别名在对象的前面 typedef需要加分号,并且它的别后面替换对象的前面 2.原理不一样 #define是预处理中的宏定义命令,在预处理时进行简单的字符串替换,不作正确性检查,只有在编译已被展开的源程序时才会发现可能的错误并报错,例如: 对于第二个输出,我们想要的是(5+1)*6=36,但是宏只是进行了简单的替换5+.
typdefdefine区别
weixin_30539835的博客
11-15 158
一、typedef用法 在C/C++语言中,typedef常用来定义一个标识符及关键字的别名,它是语言编译过程的一部分,但它并不实际分配内存空间,实例像: typedef int INT;typedef int ARRAY[10];typedef (int*) pINT; typedef可以增强程序的可读性,以及标识符的灵活性,但它也有“非直观性”等缺点。 二、#defi...
#definetypedef
biaheart的博客
02-28 530
#define byte char typedef char byte; #define是编译的时候将byte替换成char,不适合声明一系列变量 typedef则不会有这样的问题
typedefdefine区别
最新发布
09-16
`typedef` 和 `define` 都可以用来创建类型别名,但它们的作用和实现方式略有不同。 `typedef` 是一种语言特性,它可以将一个已有类型赋予一个新的名称。例如: ```c typedef int myInt; myInt x = 10; ``` 这里将 `int` 类型赋予了一个新的名称 `myInt`,因此可以用 `myInt` 声明变量 `x`,其效果等同于 `int x = 10`。 `define` 则是一种预处理指令,它可以将一个标识符替换成一个表达式或语句。例如: ```c #define PI 3.1415926 float r = 2.5; float area = PI * r * r; ``` 这里用 `define` 定义了常量 `PI`,在编译时会将所有 `PI` 替换为 `3.1415926`,因此可以直接用 `PI` 计算圆的面积。 需要注意的是,`define` 的替换是简单的文本替换,可能会导致一些意料之外的问题,例如: ```c #define SQUARE(x) x * x int y = 3; int z = SQUARE(y + 1); ``` 这里用 `define` 定义了一个宏 `SQUARE`,计算一个数的平方。但是在计算 `z` 的时候,`SQUARE(y + 1)` 会被替换为 `y + 1 * y + 1`,导致计算结果错误。因此,使用宏定义时需要特别小心,避免出现这种问题。
写文章

热门文章

  • typedef和define的区别、typedef的具体用法 2411

最新评论

  • typedef和define的区别、typedef的具体用法

    CSDN-Ada助手: 非常感谢博主分享关于typedef和define的区别及typedef的具体用法的文章。我觉得这是非常实用的内容,对其他用户也会有很大的帮助。下一篇你可以继续探讨关于C++中常用的类型定义和别名的使用,比如using关键字和typedef在STL中的应用等,相信会有更多读者受益于此。期待你的下一篇精彩文章! 为了方便博主创作,提高生产力,CSDN上线了AI写作助手功能,就在创作编辑器右侧哦~(https://mp.csdn.net/edit?utm_source=blog_comment_recall )诚邀您来加入测评,到此(https://activity.csdn.net/creatActivity?id=10450&utm_source=blog_comment_recall)发布测评文章即可获得「话题勋章」,同时还有机会拿定制奖牌。

最新文章

2022年1篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

玻璃钢生产厂家上海玻璃钢雕塑安装辽宁玻璃钢卡通雕塑小鸟价钱宝山区专业玻璃钢雕塑便宜台州大型玻璃钢雕塑批发济源不锈钢人物玻璃钢彩绘雕塑武威玻璃钢雕塑工程个旧市玻璃钢雕塑厂家电话出口玻璃钢户外雕塑商业美陈玻璃钢雕塑通辽仿铜玻璃钢雕塑公司肖像校园玻璃钢雕塑制作福建玻璃钢雕塑销售企业杭州商场美陈研发公司呼伦贝尔玻璃钢雕塑阿勒泰玻璃钢雕塑定做玻璃钢雕塑厂家多少钱圣诞新年商场美陈方案甘肃户外玻璃钢雕塑定做江苏景观玻璃钢雕塑设计西安玻璃钢道教雕塑定制潮州玻璃钢雕塑推荐货源北京抽象玻璃钢雕塑多少钱玻璃钢酒店雕塑日照玻璃钢海豚雕塑价格河北玻璃钢雕塑仿青铜德州玻璃钢雕塑生产厂家塑料盆和玻璃钢花盆深圳市玻璃钢花盆山东玻璃钢雕塑定制商场美陈小石头香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化