typedef关键字讲解
目录
1. typedef 的定义
2. ui的位置
3.ui的使用
很多人都见过typedef,但是少有人知道它的作用,其实它的作用就是让关键词简单化
比如说当我们用到 unsigned int 时,每次都要打印这么长的关键词,十分耗费时间
有没有一种方法使unsigned int 变成 ui ,让我们使用 ui 时就是使用unsigned int
1. typedef 的定义
于是--typedef诞生了---将复杂的类型超简单化
比如:
#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 的位置与变量原本的位置是相同的
举例:
#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 后接变量名即可
ui 变量名
例如:
#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 的位置