C/C++ 关键字typedef命名别名的使用

利用typedef可以为某一类型自定义名称。这方面和#defint类型。

但是和define又有三处不同:
1. 与#define不同,typedef创建的符号名只受限于类型,不能用于值。
2. typedef由编译器解释,不是预处理器。
3. 在其受限范围内,typedefe比#define更灵活。

什么是使用typedef自定义类型名称?
比如编译器种默认的没有BYTE类型,但是我们想使用BYTE定义一个字节类型,
那么就可以通过 
typedef char BYTE;
来指定BYTE类型为一个char类型。

这样就可以使用:
BYTE  m_Enable;    // 1字节的使能信号。

还可以把typedef用于结构体:
typedef struct Student
{
    int Age;
    int Fex;
    char name[24];
}STUDENG, *PSTUDENG;

源码:

// Len_typedef.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>


typedef  unsigned char  BYTE;

typedef struct Student 
{
	int Age;
	char Fex[4];
	char Name[24];
}*PSTUDENG, STUDENG;

void ReadStudent(PSTUDENG pStu)
{
	printf("\n");
	if (pStu != NULL)
	{
		printf("\n\taddress = %d", pStu);
		printf("\n\tage = %d", pStu->Age);
		printf("\n\tFex = %s", pStu->Fex);
		printf("\n\tName = %s", pStu->Name);
	}
}
int main()
{
	BYTE   m_enable = 0xff;
	STUDENG stu;
	stu.Age = 10;
	strcpy_s(stu.Fex, "男");
	strcpy_s(stu.Name, "张三");

	printf("\n\tstu_address = %d", &stu);

	ReadStudent(&stu);
	
}

执行结果:

如上,在给结构体使用了typedef之后,可以重命名为普通类型也可以重命名为指针类型。

这样在定义和作为函数参数的时候,就可以使用不同的类型。

  • 16
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WendyWJGu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值