我知道动态分配的内存如下所示是免费的,如下所示:
int *array = malloc(sizeof(int) * 100);
memset(array,0,sizeof(int) * 100);
// use the array
free(array);
(以上示例是仅应用于C ++还是应用于C和C ++?)
但我不知道在使用它时是否必须释放它(普通C语言):
int array[3];
array[0] = 0;
array[1] = 1;
array[2] = 2;
创建数组的两种方法有什么区别?
很多!
答案 0 :(得分:3)
不,你不需要在你的第二个例子中释放阵列,因为你没有使用它。
关于差异:
Difference between declaration and malloc
在C ++中,您通常希望使用new / delete,但malloc / free也可以使用。