满意答案

guiyalm4704

2017.01.10

采纳率:58%    等级:12

已帮助:5026人

1) #define是预处理指令,在编译预处理时进行简单的替换,不作正确性检查,不关含义是否正确照样带入,只有在编译已被展开的源程序时才会发现可能的错误并报错。例如: #define PI 3.1415926 程序中的:area=PI*r*r 会替换为3.1415926*r*r 如果你把#define语句中的数字9 写成字母g 预处理也照样带入。 2)typedef是在编译时处理的。它在自己的作用域内给一个已经存在的类型一个别名,但是You cannot use the typedef specifier inside a function definition。 3)typedef int * int_ptr; 与 #define int_ptr int * 作用都是用int_ptr代表 int * ,但是二者不同,正如前面所说 ,#define在预处理 时进行简单的替换,而typedef不是简单替换 ,而是采用如同定义变量的方法那样来声明一种类型。也就是说; //refer to (xzgyb(老达摩)) #define int_ptr int * int_ptr a, b; //相当于int * a, b; 只是简单的宏替换 typedef int* int_ptr; int_ptr a, b; //a, b 都为指向int的指针,typedef为int* 引入了一个新的助记符 这也说明了为什么下面观点成立 //QunKangLi(维护成本与程序员的创造力的平方成正比) typedef int * pint ; #define PINT int * 那么: const pint p ;//p不可更改,但p指向的内容可更改 const PINT p ;//p可更改,但是p指向的内容不可更改。 pint是一种指针类型 const pint p 就是把指针给锁住了 p不可更改 而const PINT p 是const int * p 锁的是指针p所指的对象。 3)也许您已经注意到#define 不是语句 不要在行末加分号,否则 会连分号一块置换。

00分享举报

rb c语言,C语言,RB和RBT什么区别啊???这里的typedef 什么作用???相关推荐

  1. C语言指针数组与数组指针的区别

    C语言指针数组与数组指针的区别 首先,顾名思义 数组指针是一个指针,是指向一个数组的指针,如 int (a*)[5]:这就是一个指向含有5个元素的数组的指针 指针数组是一个数组,它包含的元素全是指针变 ...

  2. 为什么我们需要一门新语言——Go语言

    编程语言已经非常多,偏性能敏感的编译型语言有 C.C++.Java.C#.Delphi和Objective-C等,偏快速业务开发的动态解析型语言有 PHP.Python.Perl.Ruby.JavaS ...

  3. 职工信息管理程序设计c语言,C语言程序设计职工信息管理系统.docx

    C语言程序设计职工信息管理系统.docx 1 数信学院数信学院 课程设计报告课程设计报告 课程名称课程名称C C 语言程序设计语言程序设计_ _ 题目名称题目名称职工信息管理系统职工信息管理系统 学生 ...

  4. x的平方加y平加xy的java语言_JAVA语言及网络编程-中国大学mooc-题库零氪

    第1章 认识Java语言 单元测验1 1.使用计算机处理数据,输入原始数据必须放在下列哪个步骤之后? A.申请内存空间 B.数据处理 C.输出处理结果 D.未包含在选项中 2.如果程序中出现单词&qu ...

  5. c语言 python-C语言、Java语言和python语言的区别在哪里

    原标题:C语言.Java语言和python语言的区别在哪里 我们经常听到C语言.Java语言和python语言,那么这三者的区别在哪里呢?随着科技的进步以及新技术的推进,编程语言的种类也是越来越多,随 ...

  6. c语言中指针中 - 和 。的区别?

    c语言中指针中 -> 和 .的区别? 例子1:比如有如下结构 typedef strut node{ int data;   strut node * next; } ListNode; Lis ...

  7. C语言两种导入头文件的区别

    C语言两种导入头文件的区别 #include<stdio.h> 和 #include"stdio.h" 这两种导入头文件的区别: 区别在于编译器查找头文件的顺序, &q ...

  8. 程序设计语言python语言概述

    程序设计语言 什么是程序设计语言 程序设计语言是人类与计算机交流和沟通的语言.人们通过使用程序语言,来书写计算机程序,以达到设计的程序满足需求的目的. 程序语言的发展历史 程序语言经历了从低级语言到高 ...

  9. c语言吗 程序语言,编程语言为什么从c语言开始,那有没有a语言b语言呢?

    实际上没有A语言叫法. B语言 B语言是贝尔实验室的计算机先驱Ken Thompson 和 Dennis Ritchied与1969年设计开发.他们的主要其他功绩还有Unix操作系统和C语言.可以说C ...

  10. 脚本语言语言脚本语言:Shell , JavaScript、VBScript、Perl、PHP、Python、Ruby、Lua

    今天一直在研究脚本语言语言之类的问题,上午正好有机会和大家共享一下. 脚本语言:Shell , JavaScript.VBScript.Perl.PHP.Python.Ruby.Lua 工作控制语言和 ...

最新文章

  1. 2022-2028年中国体育赛事产业深度调研及投资前景预测报告
  2. 【C#】list 去重
  3. 【我解C语言面试题系列】013 以单词为单位的翻转字符串
  4. jsp java语法_JSP基础语法
  5. STM32系统定时器SysTick(只能向下递减)延时闪烁灯
  6. “约见”面试官系列之常见面试题之第八十一篇之webpack(建议收藏)
  7. 什么方式可以通过影子系统传播恶意代码_将恶意代码隐藏在图像中:揭秘恶意软件使用的隐写术...
  8. SQLAlchemy基本使用(Flask中)
  9. react 源码概览
  10. 对/boot/grub/grub.conf的理解
  11. 2014年10月30日-----SQL的基础知识
  12. 小米9pro MIUI11.12.19 简化代码 布局随切 核心CPU 黑域
  13. Nginx配置跨域(CORS)
  14. 介绍一个Office画图工具--visio
  15. windows xp 下载老版本的chrome浏览器
  16. LeetCode刷题时遇到error: control reaches end of non-void function [-Werror=return-type]的解决方法
  17. Web报表系统葡萄城报表:报表设计
  18. Testin云测试在智能测试领域的探索实践
  19. 需要系数 计算机房,计算电流及需要系数表.xls
  20. ICPR MTWI 2018 挑战赛三:网络图像的端到端文本检测和识别算法架构

热门文章

  1. GCC 链接 xxx:No such file or directory 及运行可执行文件 error while loading shared libraries: xxx.so 解决方案
  2. 算法精解:DAG有向无环图
  3. LeetCode简单题之Excel 表中某个范围内的单元格
  4. LeetCode简单题之递增顺序搜索树
  5. 合肥工业大学—SQL Server数据库实验四:数据库的分离和附加
  6. 卷积神经网络(CNN,ConvNet)
  7. 如何在CPU上优化GEMM(下)
  8. 提高智能家居设备的兼容性
  9. 机器学习算法的优点和缺点总结
  10. 2021年大数据ELK(四):Lucene的美文搜索案例