我有一个函数在程序执行过程中被多次调用。在这个函数中,我有一个动态的字符指针,我可以调整大小。 我的问题是:我需要在函数结束之前释放这个指针吗? void functionName()
{
char *variable = (char *) malloc(0);
//variable is resized with realloc x number of times
//shou
我正在使用一种没有本地堆栈类型的模糊语言,所以我实现了我自己的。现在,在网上阅读我发现了几种不同的方法来做到这一点。 这是我实现(伪代码) //push method
function Push(int)
{
Increase (realloc) stack by 4 bytes;
Push int into the new memory area;
}
//pop
我想知道是否C或C++标准的保证,当realloc的是带一个小的(非零)大小的指针没有改变: size_t n=1000;
T*ptr=(T*)malloc(n*sizeof(T));
//<--do something useful (that won't touch/reallocate ptr of course)
size_t n2=100;//or any value in [1,
我试图创建一个函数,它将一个数组作为参数,向它添加值(如果需要,增加它的大小)并返回项的数量。 到目前为止,我有: int main(int argc, char** argv) {
int mSize = 10;
ent a[mSize];
int n;
n = addValues(a,mSize);
for(i=0;i<n;i++) {