fid_table
是指向fid_list
指针数组的指针。
我正在尝试在一个单独的函数中将fid_table
初始化为NULL
。我的理解是fid_table
被按值复制,但它是一个指针,所以这不应该是问题。
fid_list **fid_table;
fid_table_init(fid_table);
assert(fid_table[0] == NULL);
函数fid_table_init
的定义如下:
void fid_table_init(fid_list **fid_table){
fid_table = (fid_list **) malloc(HTABLE_SIZE * sizeof(fid_list *));
for(int i = 0; i < HTABLE_SIZE; i++){
fid_table[i] = NULL;
}
}
有人能解释一下为什么这个断言失败吗?
void *
,而在C++中,您必须这样做。请选择一种语言。 - too honest for this sitevoid *
。 - too honest for this sitefid_table_init
时,您将需要取一个指向fid_table
的指针。 - user707650