/// \return a new length
int removeFromArray( int * array, int arrayLength, int elementToRemove ) {
int i;
for ( i = 0; i < arrayLength; i++ ) {
if ( array[ i ] == elementToRemove ) {
memmove( & array[ i ], & array[ i + 1 ], arrayLength - i - 1 );
return arrayLength - 1;
}
}
return arrayLength;
}
C中的数组只是指针,它们不包含有关其长度的信息。所以,C程序员不仅要保留指针,还要保留它的长度。下面是从“C-array”中删除特定值的代码片段
我猜您在寻找
std::vector
(或标准库中的其他容器)。在如果需要在}来实现
C
中实现,则需要编写双链接列表实现,或者如果不想模拟std::vector
,可以使用memcpy
和{相关问题 更多 >
编程相关推荐