无法把指针变量本身传递给一个函数的解决办法

    添加时间:2013-7-5 点击量:

    //1:传递指针的办法无效,成果导致内存泄漏
    
    void GetMemory(char p,int num)
    {
    p
    =(char)malloc(numsizeofchar));
    }
    int main()
    {
    char str=NULL;
    GetMemory(str,
    10);
    strcpy(str,
    hello);
    free(str);
    //free 并没有起感化,内存泄漏
    return 0;
    }
    //2:return 返回分派内存地址
    char GetMemory(char p,int num)
    {
    p
    =(char)malloc(numsizeofchar
    return p;
    }
    int main()
    {
    char str=NULL;
    str
    =GetMemory(str,10);
    strcpy(str,
    hello);
    free(str);
    return 0;
    }
    //3:二级指针的应用,将指针地址传递给函数,改变指针内容(即分派内存首地址)
    void GetMemory(char p,int num)
    {
    p=(char)malloc(numsizeofchar));
    return p;
    }
    int main()
    {
    char str=NULL;
    GetMemory(
    &str,10);
    strcppy(str,
    hello);
    free(str);
    return 0;
    }


    容易发怒的意思就是: 别人做了蠢事, 然后我们代替他们, 表现出笨蛋的样子。—— 蔡康永
    分享到: