所以我有valgrind在这个函数中抱怨这个错误:
int getMembersNum(Party party){
assert(party != NULL);
int i = 0;
while (party->members[i] != NULL && i < party->maxMembersNum) <-- HERE
i++;
return i;
}
Party是指向结构的指针,party->members
的类型为char**
。使用malloc
初始化时,所有party->members
个单元格都设置为NULL
。
我错过了什么?
答案 0 :(得分:1)
您需要在使用前进行测试。
while (party->members[i] != NULL && i < party->maxMembersNum)
应该是
while (i < party->maxMembersNum && party->members[i] != NULL)