【问题标题】:What is the difference in the following SLL declaration以下 SLL 声明有什么区别
【发布时间】:2018-08-04 15:03:50
【问题描述】:

场景 1:

 /*Structure declares a node for Singly Linked List*/
  typedef struct SLL
   {
      int data;
       struct SLL *next;
   }

场景 2:

struct SLL
{
   int data;
    struct SLL *next;
}node;

C 中 SLL 的首选声明是什么?

【问题讨论】:

  • 第一个示例中是否缺少某些内容?
  • 回滚。得到答案后不要更改问题。这个更严重,因为你甚至接受了答案。

标签: c structure singly-linked-list


【解决方案1】:

第一个在当前形式下没有意义。

我猜第一个应该是这样的:

typedef struct SLL
{
  int data;
   struct SLL *next;
} SLL;

这样它将SSL 定义为struct SLL。之后,您可以声明如下变量:

SLL node;
node.data = 42;

第二个例子是做一些完全不同的事情。它生成一个变量node。所以之后你可以直接做:

node.data = 42;

C 中 SLL 的首选声明是什么?

嗯,他们完全不同,做的事情也完全不同,所以无法比较。

但是,第一种方法是您通常会看到的,即类型定义。

【讨论】:

  • 我已经编辑了这个问题。请立即查看。
  • 在你的版本之后,第一个声明了一个结构 SSL 和一个 typedef 节点,另一个声明了一个结构 SSL 和一个名为 node 的变量。不同的东西。
猜你喜欢
  • 2017-01-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-20
  • 2010-11-27
  • 2015-06-07
相关资源
最近更新 更多