在C中执行标准的lib-free返回的char*变量
does standard lib free returned char* variables in C?
我有一个函数,它返回一个char*
。此字符*不得被任何其他程序擦除或重复使用。我知道在C++中你不会使用malloc,但你(和我)使用new
来分配内存中的空间。
如果我这样做:
char buffer[100]; //I just sub'ed rbp at least 100bytes+allign
当返回时,此空间将不再属于当前函数,因此返回此缓冲区ptr
是危险的。
总之,我想知道为什么stdio
和其他一些库可以返回一个char指针,而我们甚至都不想释放它们?它们是用malloc分配的还是只在堆栈中分配的?我应该如何实现我的C(only)函数来返回一个安全的字符数组?
为什么不查看文档并找出答案?(您可以在计算机上运行man inet_net_ntop
;这是一个在线版本,可能与您的系统略有不同)
返回值
成功后,inet_net_ntop()返回pres。出错时返回NULL,并且errno被设置为指示错误的原因。
CCD_ 6是其中一个参数。所以它会返回你给它的相同指针,除非有错误。
相关文章:
- 从循环返回char函数数据
- 如何使用 c++ 中的函数返回 char 数组的大小
- 无法使用函数 C++ 返回 char 数组
- 在 c++ 函数中返回 char* 时出错
- C# PInvoke - 返回 char* 和引用 char* 参数的函数
- 如何从 C++ 中的函数返回 char*
- 谁需要释放返回char*的系统调用的内存
- 返回char*变量的地址
- 如何使C++函数返回 char 数组所有排列的向量
- 返回 char* 出错,打印好,返回不好(c++)
- Atoi 仅返回 char* 参数的第一个数字
- Std::string 由返回 char * 的函数赋值
- 如何在c/c++函数中返回char*数组
- 如何调用返回char* (Java中的String和c++中的char*)的方法
- 为什么strrchr()返回' char* '而不是' const char* ' ?
- 从C中的函数返回char数组的首选方式
- 如何从c++返回char **并在Python中使用ctypes将其填充到列表中
- 将异或函数转换为返回char*而不是字符串
- 使用c++从xml文件返回char*以外的数据类型时出错
- 调用从c#返回char*的c++dll函数.无法使用DllImport()