关于malloc/free和循环# Programming - 葵花宝典
q*g
1 楼
假设说我用malloc分配了一些内存给变量v:
double * v = (double *) malloc ( 10 * sizeof(double));
现在开始一个循环,其中v每次的值都不一样,那么我是不是需要
在循环体内free之(当然这就意味着也得再循环体内定义它)?
完整一点的例子在这里:
int main ()
{
double data[10] = {1,2,3,4, 5,6,7,8,9,10};
double * v = (double *) malloc ( 2 * sizeof(double));
int i;
for (i = 0; i < 5; i++)
{
v = &data[2*i];
printf("%f\n", v[1]);
}
return 0;
}
double * v = (double *) malloc ( 10 * sizeof(double));
现在开始一个循环,其中v每次的值都不一样,那么我是不是需要
在循环体内free之(当然这就意味着也得再循环体内定义它)?
完整一点的例子在这里:
int main ()
{
double data[10] = {1,2,3,4, 5,6,7,8,9,10};
double * v = (double *) malloc ( 2 * sizeof(double));
int i;
for (i = 0; i < 5; i++)
{
v = &data[2*i];
printf("%f\n", v[1]);
}
return 0;
}