带方括号的链表
Linked list with square brackets
我正在尝试理解 C 中的单链表和结构。我希望能解释这段代码的作用,尤其是方括号和 .
的含义。
void initialize_new_line(t_parser_state *state)
{
state->position = 0;
state->break_position = 0;
state->cur_node = NULL;
state->lines[state->line_number].nodes = NULL;
state->lines[state->line_number].search = NULL;
}
从上到下:
void initialize_new_line(t_parser_state *state)
这声明了一个名为“initialize_new_line”的函数,它接受一个名为“state”的参数,其类型为“指向类型 t_parser_state
的指针”。此函数不 return 任何东西(它 return 是“无效的”)。函数定义如下,仅包含赋值。
state->position = 0;
state->break_position = 0;
state->cur_node = NULL;
member access through pointer operator ->
表明类型 t_parser_state
是一个结构。成员 position
和 break_position
具有某种整数类型,因为它们是用 0 整数常量初始化的,但我们不能确定是哪一个。同样,成员cur_node
是一个指针,但无法推断是什么类型。
state->lines[state->line_number].nodes = NULL;
state->lines[state->line_number].search = NULL;
array subscript operators ([]
) indicate that lines
must be an array. The member line_number
must be some kind of integer type, as it is used an an index to the array. The member access operator(.
)表示lines
的元素必须是struct类型或者union类型,有成员nodes
和search
.由于两个都设置为NULL
,我们可以假设元素类型是struct
。数组成员 nodes
和 search
是指向某种未知类型的指针,因为它们被设置为空指针常量。
我正在尝试理解 C 中的单链表和结构。我希望能解释这段代码的作用,尤其是方括号和 .
的含义。
void initialize_new_line(t_parser_state *state)
{
state->position = 0;
state->break_position = 0;
state->cur_node = NULL;
state->lines[state->line_number].nodes = NULL;
state->lines[state->line_number].search = NULL;
}
从上到下:
void initialize_new_line(t_parser_state *state)
这声明了一个名为“initialize_new_line”的函数,它接受一个名为“state”的参数,其类型为“指向类型 t_parser_state
的指针”。此函数不 return 任何东西(它 return 是“无效的”)。函数定义如下,仅包含赋值。
state->position = 0;
state->break_position = 0;
state->cur_node = NULL;
member access through pointer operator ->
表明类型 t_parser_state
是一个结构。成员 position
和 break_position
具有某种整数类型,因为它们是用 0 整数常量初始化的,但我们不能确定是哪一个。同样,成员cur_node
是一个指针,但无法推断是什么类型。
state->lines[state->line_number].nodes = NULL;
state->lines[state->line_number].search = NULL;
array subscript operators ([]
) indicate that lines
must be an array. The member line_number
must be some kind of integer type, as it is used an an index to the array. The member access operator(.
)表示lines
的元素必须是struct类型或者union类型,有成员nodes
和search
.由于两个都设置为NULL
,我们可以假设元素类型是struct
。数组成员 nodes
和 search
是指向某种未知类型的指针,因为它们被设置为空指针常量。