这个C结构赋值是什么意思?

时间:2017-10-27 15:31:57

标签: c struct variable-assignment

我试图阅读一些C源代码,而且我遇到了一个我不理解的结构分配:

static struct sym_table *sym_array = (struct sym_table *) 0;

我知道左侧正在尝试初始化指向#sym_table'类型结构的指针。 (在其他地方定义);但是,我正在努力理解右手边。它可能相当简单,但在我见过的任何在线C教程中,我都找不到类似这类任务的类似例子。

如果有人能说清楚它,我会非常感激!

3 个答案:

答案 0 :(得分:4)

$(`${myVar1.selector},${myVar2.selector},${myVar3.selector}`)
.on("change", function() {})

是一种稍微麻烦的方法,可以将static struct sym_table *sym_array = (struct sym_table *) 0; NULL中的NULL定义为stdio.h。你最好还是选择:

((void *)0)

答案 1 :(得分:2)

右侧相当于NULL指针。但是在这里,它是一个类型为NULL的指针(struct sym_table *)

答案 2 :(得分:2)

这是Stroustrup的方式。他讨厌宏。因此,他总是在代码中使用0,或者最后在nullptr引入关键字nullptr时使用<root> <Element1 ManagementID="10" /> <Users> <UserID ManagementID="10"> <Identification IDValue="1" /> <!-- More elements Here --> </UserID> </Users> <!-- More Users elements Here --> 。我认为它来自C ++代码或通常使用C ++的人编写的程序。