结构体struct和typedef后面接指针的含义

这几天构建TIN的时候一直有这个用法,没讲过,这里搜到看一下,原来是给结构体指针举个别名!

在C语言里面,struct是用来定义新的数据类型——结构体,typedef是给数据类型取别名。
据说这两个关键词同时使用有助于减少代码量和增加代码的可读性(不过我认为它当typedef和struct在一起的时候反而降低了代码的可读性),很多时候为了方便,我们常常讲stuct与typedef放在一起用。

像这样的代码是比较好理解的,就是取FileInfo为sturct file的别名嘛。

typedef  struct  file {
...
}FileInfo ;

但是在严奶奶的《数据结构》那本书里面却充满了这样的用法:

typedef  struct  file {
...
}FileInfo ,  *FileP ;

这种用法让我感到很迷惑,经过了本人多方考证和验证,它是这么个意思:

给struct file 取个别名为FileInfo 
给struct file * 取个别名为FileP

说也怪啊。你说用typedef struct … FileInfo增加代码的可读性,我勉强可以接受。
但是你说用typedef struct … *FileP可以增加代码的可读性,我真的是撞邪了。当我面对下面一行代码的时候

FileP P

要不是其中的“P”,我还真的想不到变量“P”是一个指针。

在C语言里面,struct是用来定义新的数据类型——结构体,typedef是给数据类型取别名。
据说这两个关键词同时使用有助于减少代码量和增加代码的可读性(不过我认为它当typedef和struct在一起的时候反而降低了代码的可读性),很多时候为了方便,我们常常讲stuct与typedef放在一起用。

像这样的代码是比较好理解的,就是取FileInfo为sturct file的别名嘛。

typedef  struct  file {
...
}FileInfo ;

但是在严奶奶的《数据结构》那本书里面却充满了这样的用法:

typedef  struct  file {
...
}FileInfo ,  *FileP ;

这种用法让我感到很迷惑,经过了本人多方考证和验证,它是这么个意思:

给struct file 取个别名为FileInfo 
给struct file * 取个别名为FileP

说也怪啊。你说用typedef struct … FileInfo增加代码的可读性,我勉强可以接受。
但是你说用typedef struct … *FileP可以增加代码的可读性,我真的是撞邪了。当我面对下面一行代码的时候

FileP P

要不是其中的“P”,我还真的想不到变量“P”是一个指针。

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值