typedef关键字讲解

目录:

1. typedef关键字

2. ui的位置

3.ui的使用


很多人都见过typedef,但是少有人知道它的作用,其实它的作用就是让关键词简单化

比如说当我们用到 unsigned int 时,每次都要打印这么长的关键词,十分耗费时间

有没有一种方法使unsigned int 变成 ui ,让我们使用 ui 时就是使用unsigned int


1. typedef 的定义

于是--typedef诞生了---将复杂的类型超简单化

比如:

cpp 复制代码
#define _CRT_SECURE_NO_WARNINGS 
#include<stdio.h>
typedef unsigned int ui;
int main()
{
	ui a = 10;
	printf("%d ", a);
	//打印10
}

用 typedef 把unsigned int 更名为 ui ,直接使用 ui 就是使用 unsigned int


2. ui的位置

为什么要把 ui 放在unsigned int 后面,我可以放在其他地方吗?

答案是否定的,系统会直接报错

ui 放在那里是因为当我们正常使用时,我们就会把变量放在unsigned int 后,ui 的位置与变量原本的位置是相同的

举例:

cpp 复制代码
#define _CRT_SECURE_NO_WARNINGS 
#include<stdio.h>
typedef int* pa[3] ;//将int * [3]类型重命名为pa
typedef int aef;//将int 类型重命名为aef
typedef int (*ppa)[3];//将int(*)[3] 类型重命名为paa
typedef int (*ppaa)(int a, int b);//将int (*)(int a,int b)类型重命名为paa

我们之前讲过,除去名字就是变量名


3.ui的使用

ui在使用时,十分的简单,我们知道 ui 的在 typedef 中的位置是因为变量原本就在那个位置,那么我们在使用ui时,只需要ui 后接变量名即可

cpp 复制代码
ui 变量名

例如:

cpp 复制代码
#define _CRT_SECURE_NO_WARNINGS 
#include<stdio.h>
typedef int* pa[3] ;//将int * [3]类型重命名为pa
typedef int aef;//将int 类型重命名为aef
typedef int (*ppa)[3];//将int(*)[3] 类型重命名为paa
typedef int (*ppaa)(int a, int b);//将int (*)(int a,int b)类型重命名为paa
int main()
{	
	aef a = 15;
	aef c = 18;
	aef b = 20;
	printf("%d\n", b);//打印20

	pa pb = { &a,&b,&c };
	for (int i = 0; i < 3; i++) {
		printf("%p\n", pb[i]);
		//打印a,b,c的地址
	}
	printf("\n");

	int arr[] = { 1,2,3 };
	ppa pc = &arr;
	printf("%p\n", &arr);
	printf("%p\n", pc);
	//都打印出首元素的地址位置
}

即用变量替换掉 ui 的位置

相关推荐
祁白_6 分钟前
nmap工具笔记整理
笔记·web安全·测试
南境十里·墨染春水10 分钟前
C++笔记 STL——set
开发语言·c++·笔记
L16247611 分钟前
Win11 共享→Windows Server 访问故障总结(极简可复用)
开发语言·windows·php
d111111111d16 分钟前
直流电机位置式 PID 控制 和 舵机的区别
笔记·stm32·单片机·嵌入式硬件·学习
dgaf23 分钟前
DX12 快速教程(17) —— 立体图标与合并渲染
c语言·c++·3d·图形渲染·d3d12
LZYmarks42 分钟前
小白买车笔记
笔记
.柒宇.1 小时前
FastAPI 基础指南:从入门到实战
开发语言·python·fastapi
xyq20241 小时前
Go 错误处理
开发语言
码途漫谈1 小时前
Easy-Vibe开发篇阅读笔记(二)——前端开发之Figma与MasterGo入门
人工智能·笔记·ai·开源·ai编程·figma
JAVA面经实录9171 小时前
企业级java+LangChain4j-RAG系统 限流熔断降级
java·开发语言·分布式·langchain