一次使用的功能 - 我应该使用malloc吗?

时间:2013-06-27 13:34:00

标签: c linux memory-management malloc

我有一点点长的C代码,有一个函数只能被调用一次。这包括一些变量,例如char arrayint。代码是这样的:

void onetimefcn(){
    char example_array1[20]="hello...";
    //...
    char example_array10[14]="hej...";
    int x=3,y=432,z=321,d=4439;
    //some arithmatic operation
    //some char array operation: strcpy, strcmp
    // some for loops and if else conditions
}

我将在嵌入式Linux设备上运行该代码。我想知道是否应该malloc使用该函数的所有变量然后free呢?它是否有助于有效地使用资源,或者是否会出现一些严重的问题(如果是这种情况,可能会发生什么)?

1 个答案:

答案 0 :(得分:9)

使用malloc比隐式堆栈分配更少更有效。堆栈是一种非常有效的分配机制,因为分配和释放都归结为堆栈指针的简单更新,不会留下任何碎片。