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

python中定义变量typedef_使用typedef定义类型

在 C 语言中,除系统定义的标准类型和用户自定义的结构体、共用体等类型之外,还可以使用类型说 明语句 typedef 定义新的类型来代替已有的类型。typedef 语句的一般形式是:

typedef 已定义的类型 新的类型;

例如:

typedef int INTEGER; /*指定用 INTEGER 代表 int 类型*/

typedef float REAL; /*指定用 REAL 代表 float 类型*/

在具有上述 typedef 语句的程序中,下列语句就是等价的:

int i, j; /*与 INTEGER i, j;*/

float pi; /*与 REAL pi;*/

当然typedef的最常用的作用就是给结构体变量重命名。

#include

#include

typedef struct _INFO

{

int num;

char str[256];

}INFO;

int main()

{

struct _INFO A;

INFO B;    //通过typedef重命名后的名字INFO与struct _INFO完全等价!

A.num = 2014;

strcpy(A.str,"Welcome to dotcpp.com");

B=A;

printf("This year is %d %s\n",A.num,A.str);

printf("This year is %d %s\n",B.num,B.str);

return 0;

}

可以看到typedef可以为关键词改名,使改名之后的INFO类型等价于struct _INFO类型,让我们在定义这种结构类型时更方便、省事。

事实上,许多windows开发中的许多我们未见过的数据类型,看起来很难懂,但绝大部分都是通过typedef定义后的基本数据类型,大家可以通过追溯变量的定义来了解。

相关文章:

  • 找啊!找啊!找不到工作(中)——漂在中关村(3)
  • 无缝移植J2ME程序到OPhone平台解决方案
  • 二元偏导数存在的条件_视频教学:二元函数二重极限存在性判定的一般思路与常用方法...
  • 寻找一种可以只安装客户端插件就能很好运行的还还能提高开发效率的技术最好java???...
  • linux 修改jvm时区_系统时间和JVM的Date时间不一致
  • element ui 分页增删改查_ElementUI 实现表格可编辑 Editable,增删改查编辑表格Grid...
  • 改变你做事的步伐
  • automake生成静态库文件_【转】 autoconf / automake 例子(静态库、动态库 )
  • C语言程序设计 试卷1
  • 门店定位怎么在地图上显示_怎样让自己的店地理位置显示在高德地图上
  • 长亭php反序列化防护_PHP反序列化漏洞与Webshell
  • C语言程序设计 试卷2
  • python中面向对象空间时间_python面向对象及命名空间
  • Winforms:Form的最小宽度限制
  • smalltalk squeak 的中文显示
  • 【挥舞JS】JS实现继承,封装一个extends方法
  • Angular Elements 及其运作原理
  • AzureCon上微软宣布了哪些容器相关的重磅消息
  • flutter的key在widget list的作用以及必要性
  • HTTP传输编码增加了传输量,只为解决这一个问题 | 实用 HTTP
  • IndexedDB
  • Just for fun——迅速写完快速排序
  • python docx文档转html页面
  • Redash本地开发环境搭建
  • socket.io+express实现聊天室的思考(三)
  • 爱情 北京女病人
  • 函数式编程与面向对象编程[4]:Scala的类型关联Type Alias
  • 解决jsp引用其他项目时出现的 cannot be resolved to a type错误
  • 开发基于以太坊智能合约的DApp
  • 来,膜拜下android roadmap,强大的执行力
  • 前端路由实现-history
  • 入手阿里云新服务器的部署NODE
  • 用jQuery怎么做到前后端分离
  • 自动记录MySQL慢查询快照脚本
  • LevelDB 入门 —— 全面了解 LevelDB 的功能特性
  • Prometheus VS InfluxDB
  • ​人工智能之父图灵诞辰纪念日,一起来看最受读者欢迎的AI技术好书
  • #DBA杂记1
  • #HarmonyOS:软件安装window和mac预览Hello World
  • #LLM入门|Prompt#1.7_文本拓展_Expanding
  • (13)Hive调优——动态分区导致的小文件问题
  • (2)(2.10) LTM telemetry
  • (AngularJS)Angular 控制器之间通信初探
  • (Git) gitignore基础使用
  • (poj1.2.1)1970(筛选法模拟)
  • (带教程)商业版SEO关键词按天计费系统:关键词排名优化、代理服务、手机自适应及搭建教程
  • (附源码)spring boot车辆管理系统 毕业设计 031034
  • (附源码)spring boot校园拼车微信小程序 毕业设计 091617
  • (论文阅读32/100)Flowing convnets for human pose estimation in videos
  • (七)MySQL是如何将LRU链表的使用性能优化到极致的?
  • (亲测有效)解决windows11无法使用1500000波特率的问题
  • (三)Pytorch快速搭建卷积神经网络模型实现手写数字识别(代码+详细注解)
  • (续)使用Django搭建一个完整的项目(Centos7+Nginx)
  • (转)linux自定义开机启动服务和chkconfig使用方法
  • *ST京蓝入股力合节能 着力绿色智慧城市服务