struct如何在引擎盖下工作?

时间:2014-01-13 17:59:58

标签: c struct

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

4 个答案:

答案 0 :(得分:3)

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

    来自struct - wiki:

      

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

  • 有关struct的内存分配:请查看How are C struct members allocated?

  • 为何使用struct,请查看Why should we typedef a struct so often in C?

答案 1 :(得分:1)

它只不过是被视为一个实体的多个变量。这背后没有多少魔法,这些值只是按照内存中声明的顺序出现在彼此之后。

答案 2 :(得分:1)

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

答案 3 :(得分:1)

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

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