Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
删除C中int*的内容_C_Arrays - Fatal编程技术网

删除C中int*的内容

删除C中int*的内容,c,arrays,C,Arrays,如果我有这样一个数组: int * array = ... 如果我想删除它的内容,在C中最快、最有效的方法是什么?如果在C中使用 int* array = malloc(some_size); 然后你就可以用 free(array); 快速高效与该过程没有多大关系-只是它是如何完成的-但你几乎可以相信,没有任何方法可以更快地完成它…如果“删除内容”意味着将数组归零,那么使用以下命令应该会起作用: size_t element_count = ... // This defines how

如果我有这样一个数组:

int * array = ...

如果我想删除它的内容,在C中最快、最有效的方法是什么?

如果在C中使用

int* array = malloc(some_size);
然后你就可以用

free(array);
快速高效与该过程没有多大关系-只是它是如何完成的-但你几乎可以相信,没有任何方法可以更快地完成它…

如果“删除内容”意味着将数组归零,那么使用以下命令应该会起作用:

size_t element_count = ... // This defines how many elements your array has
memset(array, 0, sizeof(int) * element_count);

请注意,有一个指向数组的指针而没有其他信息是不够的:您还需要提供数组元素的数量,因为无法从指针本身派生此信息。

是否使用malloc为内容分配内存?您拥有的是指针,而不是数组;如果它指向您用
malloc
分配的内存,那么您用
free
删除它。是的,指针本身没有使用内存,它只是指向内存中的一个位置。答案取决于你如何在那个记忆位置填充内容。不清楚你在问什么,在“…”中是什么?问题中没有任何东西表明这一点。