小编CS.*_*CS.的帖子

glibc函数返回什么样的值需要free()d?

我们知道所有动态分配的内存需要由程序员自己使用free()释放.对于程序员自己创建的变量并为他们分配内存几乎没有问题,因为他知道要调用free()的内容.但是从glibc函数返回的指针如getenv()呢.起初我以为我需要释放getenv()结果所指向的内存,但后来注意到那个男人说:

通常实现时,getenv()返回指向环境列表中的字符串的指针.调用者必须注意不要修改此字符串,因为这会改变进程的环境

这意味着函数getenv()没有调用malloc()来为地址返回的字符串创建一个新空间.那么明确需要释放从这些函数返回的哪些指针?

c c++ glibc

0
推荐指数
1
解决办法
80
查看次数

标签 统计

c ×1

c++ ×1

glibc ×1