我有一个从3D数组中读取切片的python脚本,如下所示:
def get_from_array(axis, start, end, array):
if axis == 0:
slice = array[start:end, :, :]
elif axis == 1:
slice = array[:, start:end, :]
elif axis == 2:
slice = array[:, :, start:end]
return slice
Run Code Online (Sandbox Code Playgroud)
我不禁想到必须有更好的方法来做到这一点!有什么建议?
小号
我有一个非常简单的C代码,它使用malloc和realloc,但是如果我更改了属于第一个数组的值,它就会引发seg错误.
#include <stdlib.h>
void increase(int** array)
{
int * new_array;
new_array = realloc(*array, 10 * sizeof(int));
if (new_array != NULL) {
*array = new_array;
}
else {
// Error in reallocation
}
int i = 3;
*array[i] = 2; // Seg fault if i = 0, 1, 2, 3
}
main()
{
int *array = malloc(4 * sizeof(int));
increase(&array);
free(array);
}
Run Code Online (Sandbox Code Playgroud)
我对错误指针的理解是什么?任何人都可以解释发生了什么以及如何正确使用realloc?
非常感谢!