我尝试了以下两种方法。当我在一个小程序中测试它时,两者似乎都有效。但有可能内存来自操作系统,默认情况下会清零。
方法1:
int n_var = 1000;
double *vars = malloc(n_var*sizeof(*vars));
if(!vars) die("Memory error.");
memset(vars, 0, n_var*sizeof(*vars));
方法2:
int n_var = 1000;
double *vars = calloc(n_var, sizeof(*vars))
if(!vars) die("Memory error.");
有人可以确认以上是否正确吗?