在C中,是否有内置阵列切片机制?
像Matlab一样,
A(1:4)
会产生=
1 1 1 1
如何在C中实现?
我试着看,但最接近的是这样的:http://cboard.cprogramming.com/c-programming/95772-how-do-array-subsets.html
subsetArray =& bigArray [someIndex]
但是,这并不完全返回切片数组,而是指向切片数组的第一个元素…
非常感谢
解决方法
在std C中这样做是不可能的.你必须自己去做
如果你有一个字符串,你可以使用负责处理的string.h库,但是对于整数,我没有任何图书馆.
除此之外,在拥有你所拥有的东西之后,你想要开始你的子集的点实际上很容易实现.
如果你有一个字符串,你可以使用负责处理的string.h库,但是对于整数,我没有任何图书馆.
除此之外,在拥有你所拥有的东西之后,你想要开始你的子集的点实际上很容易实现.
假设你知道’main’数组的大小,那就是整数数组,你可以这样做:
subset = malloc((arraySize-i)*sizeof(int)); //Where i is the place you want to start your subset. for(j=i;j<arraySize;j++) subset[j] = originalArray[j];
希望这可以帮助.