标题:分配内存并写入 编译后为什么没有输出到屏幕上呢 请大佬指点迷津
取消只看楼主
风流泰
Rank: 1
等 级:新手上路
帖 子:78
专家分:0
注 册:2018-9-29
结帖率:87.88%
 问题点数:0 回复次数:0 
分配内存并写入 编译后为什么没有输出到屏幕上呢 请大佬指点迷津
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

int getMen(char ***p3,int num)
{
    int i=0;
    char **tmp=NULL;
    if(p3=NULL)
    {
        return -1;
    }
    tmp=(char **)malloc(sizeof(char *)*num);
    if(tmp=NULL)
    {
        return NULL;
    }
   
    for(i=0;i<num;i++)
    {
        tmp[i]=(char *)malloc(sizeof(char)*100);
        sprintf(tmp[i],"%d%d%d",i+2,i+2,i+2);
    }
   
    *p3=tmp;
   
    return 0;
     
}

void getMen_Free(char ***p3,int num)
{
    int i=0;
    char **tmp=NULL;
    if(p3==NULL)
    {
        return ;
    }
    tmp=*p3;
    for(i=0;i<num;i++)
    {
        free(tmp[i]);
    }
    free(tmp);
    *p3=NULL;
}



int main(void)
{
    int i=0,j=0;
    char **p2=NULL;
    int num=8;
   
    getMen(&p2,num);
   
    for(i=0;i<num;i++)
    {
        printf("%s \n",p2[i]);
    }
   
    getMen_Free(&p2,num);
   
    system("pause");
    return 0;
   
}
搜索更多相关主题的帖子: int char num tmp NULL 
2019-04-30 22:45



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-494485-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.950831 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved