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 的位置

相关推荐
AiTop10020 小时前
Claude Code 推出 Agent View:命令行编程正式进入“多线程并发“时代
开发语言·人工智能·ai·aigc
jf加菲猫20 小时前
第21章 Qt WebEngine
开发语言·c++·qt·ui
小陈phd20 小时前
多模态大模型学习笔记(四十)——从“看字”到“懂结构”:版面分析与表格解析技术全解
笔记·学习
xuhaoyu_cpp_java20 小时前
SpringMVC学习(二)
java·经验分享·笔记·学习·spring
码农-阿杰21 小时前
深入理解 synchronized 底层实现:从 HotSpot C++ 源码看对象锁与 Monitor 机制
开发语言·c++·
2401_8322981021 小时前
AI智能体监管落地,OpenClaw率先建立行业合规标准
开发语言
Szime21 小时前
深智微IC华润微代理:MCU选型与工业控制方案推荐
c++
geovindu21 小时前
go: Lock/Mutex Pattern
开发语言·后端·设计模式·golang·互斥锁模式
知识分享小能手21 小时前
R语言入门学习教程,从入门到精通,R语言日期和时间序列(6)
开发语言·学习·r语言
叼烟扛炮21 小时前
C++ 知识点18 内部类
开发语言·c++·算法·内部类