char myWord[20];
我想删除这个数组的最后10个字符,我的意思是释放最后10个字符所使用的内存。反正有吗?
下面是一个可能有用的子字符串的示例函数。
str& substring(uint Start, uint Count){
for(uint x=0; x<Count; x++){
mString[x] = mString[x+Start];
}
// SOMEHOW FREE MEMORY OF mString FROM [Start+Count] TO [mLength]
mLength = Count;
return *this;
}
答案 0 :(得分:3)
不,不是真的。如果从malloc
获得指向内存的指针,然后使用realloc
来改变大小,你真的可以这样做,但我很确定它甚至不能保证它会释放未使用的字节。
答案 1 :(得分:2)
使用堆栈分配的数组 1 ,没有。您只能使用一些特殊字符来标记数组的“逻辑结束”;对于字符串,通常使用NUL字符(0)。