【发布时间】:2019-01-21 06:15:48
【问题描述】:
我想检查以下代码的含义。我想我正在创建一个指向adjlistnode 结构的指针列表的指针,但我不确定。
代码如下:
typedef struct adjlistnode {int node; int cost; struct adjlistnode *next;}
**AdjMatrix;
我对@987654324@ 实际上是什么感到困惑。就像我上面说的,我认为它是指向adjlistnode 结构的指针列表的指针,但我不确定。我的假设是否正确?
【问题讨论】:
-
请参阅Is it a good idea to typedef pointers? — TL;DR,答案通常是“否”,但函数指针可能是一个例外。我没有看到使用指针指针的 typedef;它主要是令人困惑的,可能不是很有用。你最好参考
struct adjlistnode,或者制作你自己的健全的typedef:type struct adjlistnode AdjListNode;(选择你自己的大写方案)。 -
@JonathanLeffler - 就我个人而言,我更喜欢给函数类型本身加上别名,并用星号声明指向函数的指针。它也有一种很好的一致感觉。