| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1182 人关注过本帖
标题:请问什么时候需要free,这个函数里应该怎么做?
只看楼主 加入收藏
星系隐
Rank: 2
等 级:论坛游民
威 望:1
帖 子:96
专家分:36
注 册:2018-6-16
收藏
 问题点数:0 回复次数:2 
请问什么时候需要free,这个函数里应该怎么做?
#include <stdio.h>
char *erjinzhi(char *zhizhen1, int s1);
int main(void)
{
    char *a3;
    printf("%s", erjinzhi(a3, 22));
    return 0;
}
char *erjinzhi(char *zhizhen1, int s1)
{
    zhizhen1 = malloc(sizeof(char) * 9);
    int i1 = 0, i2 = s1, i3 = 0;
    for (i1 = 0; i1 < 8; i1++)
    {
        zhizhen1[i1] = '0';
    }
    for (i3 = 8; i2 != 0; i2 = i2 / 2, i3 = i3 - 1)
    {
        if (i2 % 2 == 0)
        {
            zhizhen1[i3] = '0';
        }
        else
        {
            zhizhen1[i3] = '1';
        }
    }
    return zhizhen1;
}
这个转二进制函数里malloc了内存,应该什么时候free?在哪里free?
搜索更多相关主题的帖子: 函数 return int char free 
2020-11-28 20:31
apull
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:三体星系
等 级:版主
威 望:216
帖 子:1506
专家分:9241
注 册:2010-3-16
收藏
得分:0 
后面在不需要该变量的时候free
*zhizhen1 = *a3
所以printf后free(a3);

malloc和free需要#include <stdlib.h>
2020-11-29 10:56
星系隐
Rank: 2
等 级:论坛游民
威 望:1
帖 子:96
专家分:36
注 册:2018-6-16
收藏
得分:0 
回复 2楼 apull
嗯,谢谢,我明白了,不过环境是力扣做题环境和力扣的playground,各种库都给导入好了,所以这么写没问题
2020-11-29 22:13
快速回复:请问什么时候需要free,这个函数里应该怎么做?
数据加载中...
 
   



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

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