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

入门-C编程基础部分:17、typedef

飞书文档https://x509p6c8to.feishu.cn/wiki/YOnjwItjaiUMBekWbmOcGczgnEc

C 语言提供了 typedef 关键字,您可以使用它来为类型取一个新的名字。下面的实例为单字节数字定义了一个术语 uint8:

typedef unsigned char uint8;

在这个类型定义之后,标识符 uint8可作为类型 unsigned char 的缩写,例如:

原来写法:
unsigned char b1,b2;
缩写:
uint8 b1
, b2;

您也可以使用 typedef 来为用户自定义的数据类型取一个新的名字。例如,您可以对结构体使用 typedef 来定义一个新的数据类型名字,然后使用这个新的数据类型来直接定义结构变量,如下:

#include <stdio.h>
#include <string.h>typedef struct Books
{char  title[50];char  author[50];char  subject[100];int   book_id;
} Book;int main( )
{Book book;strcpy( book.title, "C 教程");strcpy( book.author, "Runoob");strcpy( book.subject, "编程语言");book.book_id = 12345;printf( "书标题 : %s\n", book.title);printf( "书作者 : %s\n", book.author);printf( "书类目 : %s\n", book.subject);printf( "书 ID : %d\n", book.book_id);return 0;
}

当上面的代码被编译和执行时,它会产生下列结果:

书标题 : C 教程
书作者 : Runoob
书类目 : 编程语言
书 ID : 12345

typedef 与 #define

typedef和define都是替一个对象取一个别名,以此增强程序的可读性

#define 常用于定义常量或替换文本,typedef常用于定义类型别名。

下面是 #define 的最简单的用法:

#include <stdio.h>#define TRUE  1
#define FALSE 0int main( )
{printf( "TRUE 的值: %d\n", TRUE);printf( "FALSE 的值: %d\n", FALSE);return 0;
}

当上面的代码被编译和执行时,它会产生下列结果:

TRUE 的值: 1
FALSE 的值: 0

http://www.xdnf.cn/news/1197.html

相关文章:

  • 安卓投屏软件QtScrcpy
  • Node.js简介(nvm使用)
  • 删除不了jar包-maven clean package失败
  • 深入探索Spark-Streaming:从基础到核心编程
  • TCP/IP协议新手友好详解
  • 【以太网安全】——防护高级特性配置总结
  • 数字化转型“变形记”:中钧科技经营帮如何让企业长出“智慧骨骼”
  • 分部积分选取u、v的核心是什么?
  • 多态以及多态底层的实现原理
  • mysql日常巡检
  • JSP服务器端表单验证
  • Conceptrol: Concept Control of Zero-shot Personalized Image Generation(个性化图像生成)
  • 多骨干、多融合:RT-DETR 如何解锁主干网络新姿势?
  • qt.tlsbackend.ossl: Failed to load libssl/libcrypto.
  • 24-算法打卡-字符串-反转字符串II-leetcode(541)-第二十四天
  • java中值传递的含义
  • IDEA下载kotlin-compiler-embeddable特别慢
  • 从零开始配置 Zabbix 数据库监控:MySQL 实战指南
  • RFID手持机,助力固定资产高效管理
  • 工业以太网无线网桥:无线通信的工业级解决方案
  • macOS安全隐私最佳实践分析
  • vscode:Live Server Preview插件
  • HarmonyOS Next 编译之如何使用多目标产物不同包名应用
  • 深入解析C++ STL List:双向链表的特性与高级操作
  • 再话git merge和rebase
  • GIT合并/推送报错
  • Redis 处理读请求
  • 针头式过滤器推荐
  • 虚幻基础:动画k帧
  • csv数据的写入