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

相关推荐
心情好的小球藻几秒前
Python应用进阶DAY9--类型注解Type Hinting
开发语言·python
惜.己12 分钟前
使用python读取json数据,简单的处理成元组数组
开发语言·python·测试工具·json
Y40900119 分钟前
C语言转Java语言,相同与相异之处
java·c语言·开发语言·笔记
笑衬人心。21 分钟前
TCP 拥塞控制算法 —— 慢启动(Slow Start)笔记
笔记·tcp/ip·php
花海如潮淹33 分钟前
前端性能追踪工具:用户体验的毫秒战争
前端·笔记·ux
Andy杨2 小时前
20250718-5-Kubernetes 调度-Pod对象:重启策略+健康检查_笔记
笔记·容器·kubernetes
古月-一个C++方向的小白6 小时前
C++11之lambda表达式与包装器
开发语言·c++
沐知全栈开发6 小时前
Eclipse 生成 jar 包
开发语言
杭州杭州杭州7 小时前
Python笔记
开发语言·笔记·python
tanyongxi667 小时前
C++ AVL树实现详解:平衡二叉搜索树的原理与代码实现
开发语言·c++