struct在引擎盖下是如何工作的?

struct在引擎盖下是如何工作的?,c,struct,C,Struct,我很好奇我们在C中声明的结构。它实际上做什么? 我知道我们可以制作指向那些使用struct的节点和指针,但是它是如何工作的呢?像while循环一样,检查条件&如果相等或不相等,则相应地进行分支。struct在引擎盖下做什么?它只不过是将多个变量视为一个实体而已。这背后没有什么魔力,值只是按照声明的顺序在内存中依次出现。Cstruct只是以指定的方式表示数据,根本不做任何事情。它用于表示更复杂的数据类型,例如链表节点。 struct类型是用户定义的复合类型。它由具有不同类型的字段或成员组成 从st

我很好奇我们在C中声明的结构。它实际上做什么?
我知道我们可以制作指向那些使用struct的节点和指针,但是它是如何工作的呢?像while循环一样,检查条件&如果相等或不相等,则相应地进行分支。struct在引擎盖下做什么?

它只不过是将多个变量视为一个实体而已。这背后没有什么魔力,值只是按照声明的顺序在内存中依次出现。

C
struct
只是以指定的方式表示数据,根本不做任何事情。它用于表示更复杂的数据类型,例如链表节点。

  • struct
    类型是用户定义的复合类型。它由具有不同类型的字段或成员组成

    struct
    -wiki:

    C编程语言中的struct是一种声明,它定义了一系列变量,这些变量放在内存块中的一个名称下,允许通过单个指针访问不同的变量

  • 对于
    结构的内存分配:签出

  • 有关使用结构的原因,请查看

使用struct,用户可以定义自己所需的数据类型来处理复杂数据。 就像数组一样,数组中的所有元素都是相同类型的,但在struct中,每个元素都可以按照用户希望的方式定义

so struct is used to define ""user-defined data types".

他们什么都不做,只是“是”。所以在内存中,空间是并排分配给节点中的每个元素的吗?@godel9点,很抱歉,但我不是本地人speaker@user3181231什么是节点?这个术语通常不用于此上下文中。假设我们编写结构abcd{int data;int name;},那么在内存中为数据和名称分配的空间将是并排的?@user3181231您编写的是一个非常简单的链表实现,这基本上与结构没有太大关系。在您的例子中,每个节点对象在内存中都由一个32位int和一个32位指针(这里假设为x86)组成。