读书人

帮小弟我看看realloc这样写可以吗?错

发布时间: 2013-08-09 15:16:24 作者: rapoo

帮我看看realloc这样写可以吗?错在那呢
本帖最后由 wangyd324 于 2013-07-29 17:13:31 编辑 if (!tag) {
(*tag) = (struct Tag *) realloc((*tag), sizeof(struct Tag));
//if ((*tag) == NULL)
//printf("Stack over floated\n\r");
}
else {
(*tag) = (struct Tag *) malloc(sizeof(struct Tag));
//if ((*tag) == NULL)
//printf("Stack over floated\n\r");
}
(*tag)[count] = *(pBT->data);
printf("count %d\n",count);
printf("add %p\n",tag[0][0].sAttVal[0]);
printf("val %s\n",pBT->data->sAttVal[0]);
count++;

realloc 这样扩展所操作的内存的大小可以吗,该结构数组中的第二个值会覆盖第一个值吗?
内存扩展后,该结构数组的指针地址会发生变化吗?有了解的告诉一声,谢谢
[解决办法]


typedef struct student{
char *name;
char *nickname
typedef struct student *pnext;
}stu


用链表了,需要的时候分配内存地址给next指针,然后赋值啦!
不用的时候就释放了

读书人网 >C语言

热点推荐