为什么下面的代码给我错误的“双免费或腐败”......当我编译和运行gcc [(Debian 4.4.4-8) 4.4.5 20100728(预售)]。提前致谢!ansi c struct {with dynamic array}分配给数组,这是realloc
#include <stdio.h>
#include <stdlib.h>
typedef struct
{
int *index1;
} data;
void doo(int *);
int main(int argc, char *argv[])
{
int *a = (int *) malloc(10*sizeof(int));
int i;
for(i=0; i<10; i++)
{
a[i] = 2*i;
}
doo(a);
data one;
one.index1 = a;
printf("%d\n", one.index1[4]);
free(a);
printf("%d\n", one.index1[4]);
free(one.index1);
return 0;
}
void doo(int *b)
{
b = (int *) realloc(b, 5*sizeof(int));
return;
}
这是家庭作业btw? – 2010-09-24 15:55:33
如果你有2个问题,请发起2帖子。不要重复使用一个帖子来提出另一个问题。 **欢迎来到SO,玩得开心!** – pmg 2010-09-24 16:03:07