c - 是否使用了malloc/realloc/calloc?

标签 c malloc realloc libc calloc

对于 C 程序员。

例如,我如何知道指针 char * 是使用 malloc 还是 realloc 初始化的?我的意思是那种功能:

char* func(char** x){
    /* need some reallocating of *x but 
     * *x can be a pointer to const string
     */
}

最佳答案

没有可移植方法可以通过查看指针值来确定指针是指静态变量还是自动变量,或者是指通过 *alloc 函数分配的内存独自的。如果您非常熟悉您平台上的内存模型,您可以做出一些有根据的猜测,但仅此而已。

否则,如果重要,您将不得不自己跟踪该信息。

关于c - 是否使用了malloc/realloc/calloc?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18901522/

相关文章:

c - scanf ("%ms", &p) 在 OSX 系统上不工作

c - fgets() 的异常行为

ios - NSString 字符串与 CString :encoding: - not copying the Cstring?

c - strcpy 损坏 char 数组(字符串值)

c - 重新分配(): invalid next size - realloc dynamic struct

c - 函数 usleep 的隐式声明

c - 如何初始化struct char数组?

python - 运行带参数的 python 脚本

c++ 和 <complex.h> 与 <complex> 在单独的文件中

c - 数组元素在函数外是 "lost"