首页 > 其他分享 >42. typedef

42. typedef

时间:2024-09-02 14:54:13浏览次数:13  
标签:typedef int 42 数据类型 char 类型 BYTE


9.4 typedef

typedef为C语言的关键字,作用是为一种数据类型(基本类型或自定义数据类型)定义一个新名字,不能创建新类型

  • #define不同,typedef仅限于数据类型,而不是能是表达式或具体的值
  • #define发生在预处理,typedef发生在编译阶段
#include <stdio.h>

typedef int INT;
typedef char BYTE;
typedef BYTE T_BYTE;
typedef unsigned char UBYTE;

typedef struct unsigned char UBYTE;

typedef struct type
{
	UBYTE a;
	INT b;
	T_BYTE c;
}TYPE, *PTYPE;

int main()
{
	TYPE t;
	t.a = 254;
	t.b = 10;
	t.c = 'c';

	PTYPE p = &t;
	printf("%u, %d, %c\n", p->a, p->b, p->c);

	return 0;
}

typedef可以声明新的类型名来代替已有的类型名,但却不能增加新的类型。
  typedef为C语言的关键字,作用是为一种数据类型定义一个新名字。这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(struct等)。
  在编程中使用typedef目的一般有两个,一个是给变量提供一个易记且意义明确的新名字(类型有新别名,方便变量的定义),另一个是简化一些比较复杂的类型声明。


标签:typedef,int,42,数据类型,char,类型,BYTE
From: https://blog.51cto.com/zaishu/11898131

相关文章

  • 042.CI4框架CodeIgniter,控制器过滤器Filter配合Services的使用
    01、Config中的Services.php代码如下:<?phpnamespaceConfig;useApp\Libraries\Tx_Auth;useCodeIgniter\Config\BaseService;classServicesextendsBaseService{//用户权限类publicstaticfunctionuser_auth($getShared=true){echo......
  • 20221426马泽艺信安系统设计
    掌握与未掌握的内容掌握的内容一级标题二级标题三级标题引用加粗斜体未掌握的内容绘图:graphTD;A-->B;A-->C;B-->D;C-->D;提示词框架ICDO -Identify,Context,Direction,ObjectiveBROKE -Background,Role,Objective,Knowledge,Exa......
  • RH442 - 性能调优学习笔记(十)
    网络调优延迟越大,缓存越大;为什么延迟大呢?因为距离远;为什么距离远延迟要大呢?因为一次可以传输更多的数据,这样可以更快地把数据传输完整。延迟越大,思念越深;为什么延迟大呢?因为距离远;为什么距离远延迟要大呢?因为一次可以表达更多的爱,这样可以更快地把爱意表达完整。所以,越爱越不爱,越不......
  • (附论文)基于Springboot和Vue的健身房管理系统(542)
    获取源码请滑到最底部访问官网项目配套调试视频和相对应的软件安装包1、项目描述具体请看视频演示2、项目开发工具开发工具:Idea或Eclipse数据库:MysqlJar包仓库:Maven前端框架:Vue2后端框架:Springboot3、项目图片4、演示视频(附论文)基于Springboot和Vue的健身房管......
  • 20221421李旻奇Markdown学习
    问题1:哪些内容是你掌握的?哪些内容是你没有掌握的?使用AI推荐的工具或者你喜欢的工具实践一下没有掌握的内容本次学习使用ChatGPT回复我掌握的Markdown是一种轻量级的标记语言,用于格式化文本。它的设计目标是使文本在不需要复杂工具的情况下能保持良好的可读性和可写性。以下是我......
  • 代码随想录算法训练营,8月31日 | 24. 两两交换链表中的节点,19.删除链表的倒数第N个节点
    24.两两交换链表中的节点题目链接:24.两两交换链表中的节点文档讲解︰代码随想录(programmercarl.com)视频讲解︰两两交换链表中的节点日期:2024-08-31做前思路:用上虚拟头指针,从头开始,先指向2再到1,再到3,但要注意保留原本的结点。Java代码如下:classSolution{publicListN......
  • 20240831_174427 scratch 自制积木的基本使用
    20240903_215445scratch认识自制积木自制积木是自定义的一个积木它的功能由自己决定20240903_225445scratch定义普通自制积木使用位置自制积木模块制作新的积木定义积木使用积木20240903_235445scratch定义带一参数的自制积木需求定义一个祝某某生日快......
  • 20240831_172424 scratch 自制积木与画图模块 技能
    认识自制积木定义普通自制积木定义带一参数的自制积木定义带多参数的自制积木认识画笔模块绘制一条直线绘制一条粗直线绘制一条有色直线绘制一条变色直线绘制一组平行线图章功能两个角色分别绘制绘制正方形绘制长方形绘制圆形绘制三角形绘制五边形绘制六边形绘制......
  • leetcode刷题day4|链表部分(24. 两两交换链表中的节点 、19.删除链表的倒数第N个节点、
    前言:链表练习的第二天,对链表的理解加深了24.两两交换链表中的节点这个题一开始的思路是用cur和next两个指针来做,但是绕来绕去绕迷糊了,最后超时了。把错误的代码放在下面警醒大家:主要问题出现在这两行代码,next.next发生了更改。next.next=next.next.next;next.next.nex......
  • UVA12421 (Jiandan) Mua (I) - Lexical Analyzer题解
    没什么废话、超级珂爱的大模拟。本蒟蒻写了2h才过。其实就是按题意模拟即可,不需要什么高深的算法。本人就是错在了符号中的“=”,因为如果是连续的两个等于号,只能输出“==”,而不能输出“=”“==”,然后本人就卡在这个地方卡了1.5h。代码量也不大,主要是毒瘤细节模拟题。......