typedef struct的理解

本文详细解析了C语言中结构体与指针的类型定义方式,通过具体的例子帮助读者理解如何使用typedef关键字为结构体及其指针定义别名。

于对

typedef  struct tagpoint{
                                   float   x, y;
                                    int    z;
}point,*ppoint;
 
首先可以分解为:
typedef  struct tagpoint{
                                   float   x, y;
                                    int    z;
}point;
 
typedef  struct tagpoint{
                                   float   x, y;
                                    int    z;
}*ppoint;
上面的一个好理解就是相当于typedef struct tagpoint point,给结构体struct tagpoint 取另一个名字叫point.(注意:struct tagpoint 才代表结构体 不是tagpoint)。
下面一个可以理解为:
struct tagpoint{
                                   float   x, y;
                                    int    z;
};
typedef struct ttagpoint *ppoint;
视乎这条语句不太好理解,首先看看这样的定义:
const char * apoint  定义一个指向char类型的指针变量。其实是这样看的:
const char * apoint     (const char *apoint 效果是一样的)
 
那么就有:typedef struct ttagpoint *ppoint;  C语言规定空格在哪都可以。
这样看就明白了,typedef struct ttagpoint *ppoint 是为结构体指针取另外一个名字叫ppoint。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值