C 赋值从整数生成指针,而不使用强制转换结构

C 赋值从整数生成指针,而不使用强制转换结构,c,list,pointers,dynamic,struct,C,List,Pointers,Dynamic,Struct,我正在制作一个程序,动态创建一个整数列表 int ins_dlist(int data, struct dlist **p){ struct dlist *q; if((*p)->sz == (*p)->maxsz){ q = realloc(*p, DLISTSZ((*p)->maxsz + INCRSZ)); if(q == NULL) return (-1); q->maxsz += INCRSZ; *p = q;

我正在制作一个程序,动态创建一个整数列表

int ins_dlist(int data, struct dlist **p){
struct dlist *q;

if((*p)->sz == (*p)->maxsz){
    q = realloc(*p, DLISTSZ((*p)->maxsz + INCRSZ));
    if(q == NULL)
        return (-1);
    q->maxsz += INCRSZ;
    *p = q;
}

//(*p)->item[(*p)->sz++] = data; <-Gives me pointer from integer without cast
*((*p)->item + (*p)->sz++) = data;
return(0);

}

您可能想将
dllist
定义为:

struct dlist{
   int sz;
   int maxsz;
   int item[1];
};

查看您的
struct-dlist声明
或在此处发布。我在名为dlist.h的文件中声明了它,编辑了我的帖子
struct dlist{
   int sz;
   int maxsz;
   int item[1];
};