- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我被分配去处理一些代码,但我事先得到了一部分。它包括这部分代码:
typedef int ElementType;
struct Node;
typedef struct Node *PtrToNode;
typedef PtrToNode List;
typedef PtrToNode Position;
struct Node {
ElementType Element;
Position Next;
Position Previous;
};
我的理解是,
typedef
PtrToNode 作为一个名为 Node 的结构的指针。typedef
列为 PtrToNote。这应该意味着 List 也是一个指向名为 Node 的结构的指针。这个指针叫做列表。 (困惑 #2)有人可以向我解释第 1、2、4 和 6 点吗?我是否正确理解了代码?
最佳答案
Instead of writing int we now can write ElementType to define a value as an integer. (Confusion #1)
这是正确的 - 例如:
int a = 50;
现在相当于
ElementType a = 50;
We have defined a structure called Node. (I am unsure why it wasn't defined here).
这是(向前)声明一个名为 Node 的结构,而不是定义一个结构
We typedef PtrToNode as a pointer of the structure called Node.
你这里的理解也是正确的。因此以下是等价的:
struct Node *x;
PtrToNode x;
We typedef List as PtrToNote. Which should mean that List is also a pointer to the structure called Node. This pointer is called List. (Confusion #2)
List
和 PtrToNode
代表相同的类型 - 以下示例都做同样的事情:
struct Node *x;
PtrToNode x;
List x;
Similar to number 4, but this one is called Position.
正确。
We define how the structure is going to be set up. In this case Element is supposed to be an int, as per our previous definition. Next and Previous are supposed to be pointers of Position? However, if I were to change Position with List, how would this affect the code?
这是定义结构 Node
。将 Position
替换为 List
不会对代码产生任何影响。两种类型兼容。
关于您可以对先前的 typedef 语句进行 typedef 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58360229/
我想“创建”一个类型“my_type”,它是一个 std_logic_vector(...),就像这个 C/VHDL 假代码: typedef std_logic_vector(CONSTANT do
这个问题不太可能帮助任何 future 的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visit
我已阅读说明,我明白它是一个函数类型别名。 typedef 或函数类型别名为函数类型提供一个名称,您可以在声明字段和返回类型时使用该名称。当将函数类型分配给变量时,typedef 会保留类型信息。 h
Vala 是否有能力做一些类似于 C 中的 typedef 或 D 中的 alias 的事情?我检查了它的零星文档,但找不到与此相关的任何内容。 最佳答案 不是 typedef 本身,但您可以扩展大多
我对这段代码有一些问题: typedef struct Product { char product_code[5]; int sells; int sells_quantit
我对书中的代码有疑问: const int SQUARE_ARRAY_SIZE = 4; const int SQUARE_INFO_SIZE = 4; typedef Square SquareAr
typedef经常像这样工作:typedef .但是函数指针的 typedef 似乎有不同的结构:typedef int (*fn)(char *, char *); - 没有类型别名,只有一个函
我被分配去处理一些代码,但我事先得到了一部分。它包括这部分代码: typedef int ElementType; struct Node; typedef struct Node *PtrToNod
我正在尝试创建通用容器包装器。 template class ContainerWrapper { public: using allocator_type = typename type::al
抱歉,标题太长了。 我在类列表中有一个 typedef: template class List { // Think of a class Iter_ with ListElem *pCu
我想制作一个 typedef,它依赖于模板参数中 typedef 的存在: struct foo { using MyType = int; }; template struct bar {
出于教育目的,我正在查看 Eigen 源代码。我注意到对于每个具体类模板 X在层次结构中,有一个 internal::traits定义。一个典型的例子可以在 Matrix.h 中找到: namespa
假设我有三个文件 //first.h typedef typename std::map MapVertexVd_t; //the graph class and ... //other useful
如果我需要 Swift 中的自定义类型,我可以 typedef,我该怎么做? (类似于闭包语法 typedef) 最佳答案 关键字typealias用于代替typedef: typealias Cus
由于标题可能看起来很困惑,让我举个例子: typedef bool foo[2]; typedef foo bar[4]; bar what_am_i; 所以,我认为 what_am_i 是 [4][
我想声明一个 typedef,像这样: 指向另一个 typedef 的任何数组的指针。 例如: 类型定义 1: typedef struct { int a; }structA_t1; 类型定
要将 my_int 声明为 int 的类型别名,我们可以这样写: typedef int my_int; // (1) 奇怪的是,以下内容似乎也定义了 int 别名: int typedef my
如何在其他 typedef struct 中声明 typedef struct? typedef struct { char* type; char* destination;
我正在尝试将 malloc'd ptr 保存在全局 ptr 中,以便我可以在另一个函数中使用它。理想情况下,我希望在全局范围内有一个更智能的数据结构,但现在我只是想让全局 ptr 工作。 在我的 lw
MachineState machine; ControlSignals theControls = machine.control_signals; //Why is this giving an
我是一名优秀的程序员,十分优秀!