【c及c++学习笔记】typedef的妙用

本文详细阐述了typedef在C语言中的应用,包括如何通过typedef简化指针、函数指针等类型的声明,以及如何在结构声明前使用typedef提高代码可读性。重点介绍了不同场景下typedef的使用案例和其带来的便利。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 typedef的妙用
 
typedef给你一种方式来克服“*只适合于变量而不适合于类型”的弊端。你可以如下使用typedef:
 
typedef char * PCHAR;
PCHAR p,q;
 
这里的 p 和 q 都被声明为指针。(如果不使用 typedef,q 将被声明为一个 char 变量,这跟我们的第一眼感
觉不太一致!)下面有一些使用typedef的声明,并且给出了解释:
 
typedef char * a;  // a is a pointer to a char

typedef a b();     // b is a function that returns
                   // a pointer to a char
 
typedef b *c;      // c is a pointer to a function
                   // that returns a pointer to a char
 
typedef c d();     // d is a function returning
                   // a pointer to a function
                   // that returns a pointer to a char
 
typedef d *e;      // e is a pointer to a function 
                   // returning  a pointer to a            

 // function that returns a  

   // pointer to a char
 
e var[10];         // var is an array of 10 pointers to 
                   // functions returning pointers to 
                   // functions returning pointers to chars.
 
typedef经常用在一个结构声明之前,如下。这样,当创建结构变量的时候,允许你不使用关键字struct(在
C中,创建结构变量时要求使用struct关键字,如struct tagPOINT a;而在C++中, struct可以忽略,如tagPOINT
b)。
 
typedef struct tagPOINT
{
    int x;
    int y;
}POINT;
 
POINT p; /* Valid C code */

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值