这段代码可以优化吗?

use*_*292 1 c linked-list list operators

我想我已经沉迷于优化,所以我想知道以下代码可以"优化":

假设我有一个C语言链表,在创建新元素时我使用以下代码:

log_event_list_cur->next = 
    (struct log_event_list *)malloc(sizeof(struct log_event_list));

log_event_list_cur = log_event_list_cur->next;
Run Code Online (Sandbox Code Playgroud)

我想知道以下代码是否可以:

log_event_list_cur = 
    log_event_list_cur->next = 
        (struct log_event_list *) malloc(sizeof(struct log_event_list));
Run Code Online (Sandbox Code Playgroud)

要么:

log_event_list_cur->next = 
    log_event_list_cur=(struct log_event_list *) malloc....
Run Code Online (Sandbox Code Playgroud)

问候!.

Pau*_*aul 5

是的,第一个很好(正确的代码行为与第一个代码等效),但两者都不是优化.它们将被编译为相同的机器代码.做你觉得最可读的东西.

第二个表现不同,因为log_event_list_curnext设置之前将其分配给新的列表条目.