| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 723 人关注过本帖
标题:函数申明返回类型和结构体的问题
只看楼主 加入收藏
moox
Rank: 2
来 自:福建
等 级:论坛游民
帖 子:92
专家分:93
注 册:2017-1-21
结帖率:82.35%
收藏
已结贴  问题点数:40 回复次数:1 
函数申明返回类型和结构体的问题
第一问题
ListItem *CurrItem(List)
{
    return &L->table[l->curr];
}
这是王晓东编写的数据结构中表的一段代码,让我不解的是该结构体名为什么用指针表示,return为什么要返回一个地址;

第二问题

typedef struct link  *link
struct line{....};

link curr()
{
  link f;
   ....
}

对于这个程序我的理解是,把link指针申明为 struct link类型,但后面申明函数时为什么没有*,函数里边申明的变量f是指针类型吗?

PS:这些问题都是我在看数据结构时遇到不解的程序语法,可能上面的例子不是很清楚,希望各位高手能够结合自己知道的例子讲解下,另外学习数据结构时要注重哪些方面,请大家指点迷津
搜索更多相关主题的帖子: 王晓东 return 结构体 
2017-03-18 12:28
Alien_Lee
Rank: 8Rank: 8
来 自:Linux帝国
等 级:蝙蝠侠
威 望:7
帖 子:149
专家分:739
注 册:2016-7-19
收藏
得分:40 
1.结构体本身是非常庞大的,所以函数传递都用其指针。ListItem *CurrItem(List)这个函数明显是要求返回一个ListItem类型的指针(ListItem *),所以返回肯定是要指针类型的量而且是ListItem类型的指针。
2.定义了一种指针类型link,指向结构体。所以link f可以表示结构体指针。不过我习惯是这样的 typedef struct <结构体名> {....} line,*link; 这样line f 表示的是结构体类型变量f;link f表示结构体指针变量f。

  DEBUG的过程就是进步的过程,每一个小错误都是大问题!...
2017-03-18 17:10
快速回复:函数申明返回类型和结构体的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013859 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved