对于 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/