gpt4 book ai didi

c - C中的动态内存分配和释放

转载 作者:行者123 更新时间:2023-12-01 15:10:06 25 4
gpt4 key购买 nike

假设我在程序中动态创建了一个字符串

char* s = malloc(sizeof(char) * 128);

在我们开始使用s之前,如何检查内存是否已经分配?

free(s);

在使用 free() 之前,我想检查是否有任何其他指向 s 的指针。

最佳答案

malloc() 返回指向新分配内存的指针或 NULL。

所以检查 NULL

char *s = malloc(128); /* sizeof (char), by definition, is 1 */
if (s == NULL) {
/* no memory allocated */
} else {
/* use memory */
free(s);
}

只有当您(程序员)创建它们时,还有其他指针指向 s 指向的位置。

关于c - C中的动态内存分配和释放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5172298/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com