我正在尝试释放具有 size_t 变量和字符的结构的元素。如何释放 size_t 的,因为我不断收到类似的警告
[Warning] passing arg 1 of `free' makes pointer from integer without a cast
现在我明白我需要做演员,但我不知道怎么做!这是代码:
typedef struct collection
{
char **c;
size_t nc, na, ne;
} TCS, * ACS;
void Destroy(ACS *x)
{
int i;
free((*x)->na);
for(i=0;i<(*x)->nc;i++)
free((*x)->c[i]);
free((*x)->c);
free((*x)->nc);
free((*x)->ne);
}
/* allocating */
ACS AlocCS(size_t d, size_t e)
{
ACS *af=(ACS*)malloc(d);
if(af==NULL)
return 0;
(*af)->na=e;
(*af)->nc=d;
(*af)->c=(char**)calloc(e*d,sizeof(char));
if((*af)->c==NULL){
free(af);
return 0;}
return *af;
}
我收到 3 个警告,均与 na,ne,nc 有关。我在跳过什么?谢谢!
LE:谢谢大家,我的项目现在可以工作了!节日快乐!