当前位置: 首页 > news >正文

typedef 与#define 的区别

typedef 与#define 的区别


typedef : 给一个已经存在的数据类型(注意:是类型不是变量)取一个别名,而非定义一个新的数据类型
#define宏定义: #define宏定义:在预编译时直接进行简单的文本替换
举例:

#define INT_P int* 
typedef int*  int_p;INT_P a,b;
int_p c,d;

宏定义在预处理时候会直接替换,所以替换为int a,b。这样b是一个int变量,而不是指针;
typedef 作用是给已存在的数据类型引入一个别名,语法 typedef 已有类型名 类型别名,所以 int_p
是int
整型指针类型的别名

注意事项:
1、宏定义时若宏体表达式应该有必要的括号约束,否则很容易出错;
2、关于把空格写在类型修饰符和变量名中间,合法但容易产生误导,或者例如:

char* p1, p2; 		// 合法但容易产生误导,一般不这样写,容易误导,改为如下:
char *p1, *p2; 		// 修饰符和变量标识写在一起//或者如下写法,修饰符和类型名写在一起,每次只定义一个变量
int* p1; // 
int* p2; //

相关文章:

  • Spring Boot 整合kafka:生产者ack机制和消费者AckMode消费模式、手动提交ACK
  • SAP UI5 walkthrough step2 Bootstrap
  • Html转PDF,前端JS实现Html页面导出PDF(html2canvas+jspdf)
  • PTA:哈夫曼编码
  • class067 二维动态规划【算法】
  • 自然语言处理:电脑如何理解我们的语言?
  • Spring Cloud + Vue前后端分离-第3章 SpringBoot项目技术整合
  • spring security面经-字节飞书生产力工具后端一面
  • Google Bard vs. ChatGPT 4.0:文献检索、文献推荐功能对比
  • Linux AMH服务器管理面板本地安装与远程访问
  • 30 剑指offer-动态规划求正则表达式匹配
  • 第九天:信息打点-CDN绕过篇amp;漏洞回链amp;接口探针amp;全网扫描amp;反向邮件
  • 数据结构和算法专题---2、算法思想
  • 把 Windows 11 装进移动硬盘:Windows 11 To Go
  • UDP协议实现群聊
  • Google 是如何开发 Web 框架的
  • [case10]使用RSQL实现端到端的动态查询
  • Cookie 在前端中的实践
  • ES6--对象的扩展
  • iOS小技巧之UIImagePickerController实现头像选择
  • Js基础知识(一) - 变量
  • php中curl和soap方式请求服务超时问题
  • python 学习笔记 - Queue Pipes,进程间通讯
  • SpiderData 2019年2月13日 DApp数据排行榜
  • 阿里中间件开源组件:Sentinel 0.2.0正式发布
  • 程序员该如何有效的找工作?
  • 关于Android中设置闹钟的相对比较完善的解决方案
  • 可能是历史上最全的CC0版权可以免费商用的图片网站
  • 如何将自己的网站分享到QQ空间,微信,微博等等
  • 小程序01:wepy框架整合iview webapp UI
  • raise 与 raise ... from 的区别
  • ​力扣解法汇总946-验证栈序列
  • #C++ 智能指针 std::unique_ptr 、std::shared_ptr 和 std::weak_ptr
  • #window11设置系统变量#
  • #我与Java虚拟机的故事#连载05:Java虚拟机的修炼之道
  • (7)STL算法之交换赋值
  • (done) 声音信号处理基础知识(2) (重点知识:pitch)(Sound Waveforms)
  • (SERIES12)DM性能优化
  • (第8天)保姆级 PL/SQL Developer 安装与配置
  • (附源码)ssm学生管理系统 毕业设计 141543
  • (附源码)计算机毕业设计SSM智慧停车系统
  • (五) 一起学 Unix 环境高级编程 (APUE) 之 进程环境
  • (一)模式识别——基于SVM的道路分割实验(附资源)
  • (转)JVM内存分配 -Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m
  • (转)linux 命令大全
  • .net 逐行读取大文本文件_如何使用 Java 灵活读取 Excel 内容 ?
  • .NET开源纪元:穿越封闭的迷雾,拥抱开放的星辰
  • .net企业级架构实战之7——Spring.net整合Asp.net mvc
  • @kafkalistener消费不到消息_消息队列对战之RabbitMq 大战 kafka
  • [AR Foundation] 人脸检测的流程
  • [C++进阶篇]STL中vector的使用
  • [caffe(二)]Python加载训练caffe模型并进行测试1
  • [codeforces]Recover the String
  • [E单调栈] lc2487. 从链表中移除节点(单调栈+递归+反转链表+多思路)
  • [IE技巧] IE 中打开Office文件的设置