栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

【C语言】typedef关键字

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【C语言】typedef关键字

目录
  • 一、typedef关键字介绍
  • 二、配合结构体使用
  • 三、typedef和结构体案例

一、typedef关键字介绍

   t y p e d e f typedef typedef 关键字是用来给其他变量类型改名的关键字,C语言允许用户使用 t y p e d e f typedef typedef 关键字来定义自己习惯的数据类型名称,来替代系统默认的基本类型名称、数组类型名称、指针类型名称与用户自定义的结构型名称、共用型名称、枚举型名称等。一旦用户在程序中定义了自己的数据类型名称,就可以在该程序中用自己的数据类型名称来定义变量的类型、数组的类型、指针变量的类型与函数的类型等。定义如下:

	typedef unsigned int u8;
	typedef unsigned int u1;
	typedef int arr[10];


案例:

#include

typedef unsigned int u8;
typedef unsigned int u16;
typedef int arr[10];

int main()
{
	u8 a = 100;
	u16 b = 200;
	
	arr c;
	c[0] = 10;
	
	printf("a = %dn",a);
	printf("b = %dn",b);
	printf("c[0] = %dn",c[0]);
	
	
	return 0;
}

运行结果:



二、配合结构体使用

   给结构体变量起名字,取代了结构体变量定义繁杂的过程:

#include

struct Test
{
	int idata;
	char cdata;
	double ddata;
};

typedef struct Test T1;

int main()
{
	T1 t1;
	t1.idata = 100;
	
	printf("idata = %dn",t1.idata);
	
	return 0;
}

运行结果:


还有一种常见写法:

#include

typedef struct
{
	int idata;
	char cdata;
	double ddata;
}T1;

int main()
{
	T1 t1;
	t1.idata = 100;
	
	printf("idata = %dn",t1.idata);
	
	return 0;
}



三、typedef和结构体案例
#include

typedef struct
{
	int num;
	char name[32];
	char sex;
}Person,*pPerson;

void printInfo(Person p)
{
	printf("%d号姐姐:%s,%cn",p.num,p.name,p.sex);
}

void printInfo1(pPerson pp)
{
	printf("%d号姐姐:%s,%cn",pp->num,pp->name,pp->sex);
}

void printInfo2(Person *pp)
{
	printf("%d号姐姐:%s,%cn",pp->num,pp->name,pp->sex);
}

int main()
{
	Person p1 = {1,"莉莉",'g'};
	Person p2 = {2,"美美",'g'};
	
	pPerson pp1 = &p1;
	pPerson pp2 = &p2;
	
	printInfo(p1);
	printInfo(p2);
	
	printInfo1(pp1);
	printInfo1(pp2);
	
	Person *pp3 = &p1;
	Person *pp4 = &p2;
	
	printInfo2(pp3);
	printInfo2(pp4);
	
	return 0;
}

运行结果:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1001605.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号