首页 > C语言内存分配问题

C语言内存分配问题

char * createStr() {

    char char1= 'm';
    char char2= 'y';

    char *str = (char *) malloc(sizeof(char) * 3);
    str[0] = char1;
    str[1] = char2;
    str[2] = '\0';

    return str;

}

这样的函数 malloc了 字符串
我该怎么free呢
如果不free 因为这个函数要执行很多次 那不是会分配很多内存了


可以采用static 修饰 str指针,然后判断str!=NULL的情况下才malloc ,这样子,多次调用也不用malloc ,外部都不用free,因为只会malloc一次内存空间。


createStr的调用者free

【热门文章】
【热门文章】