可以说我有以下几点:

 CHARLINK * _init_link(CHARLINK **link)
 {
    short i;
    (*link)->cl = (CHARLINK **) calloc(NUM_CHARS, sizeof(CHARLINK *));
    for (i = 0; i < NUM_CHARS; i++)
        (*link)->cl[i] = NULL;
    return (*link);
}

是将每个元素初始化为NULL的循环吗?还是在calloc中将它们自动为NULL?

最佳答案

是的,必须在循环中将其分配为NULL。 calloc初始化为所有位0。但是,可能不会这样表示空指针。它取决于实现。因此,分配是必要的。

10-01 18:59