首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

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

2013-08-09 
帮我看看realloc这样写可以吗?错在那呢本帖最后由 wangyd324 于 2013-07-29 17:13:31 编辑if (!tag) {(*ta

帮我看看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指针,然后赋值啦!
不用的时候就释放了

热点排行