free (p); p = NULL;
char *p = "Hello";
free (p);
p = NULL;
printf("%s\n", (p) ? p : "NULL");
为什么出现
Segmentation fault (core dumped)
将free(p)注释掉是正确的
free (p);
p = NULL;
printf("%s\n", (p) ? p : "NULL");
为什么出现
Segmentation fault (core dumped)
将free(p)注释掉是正确的
...全文
相关推荐
C语言中free函数的使用详解
例如:```c#define FREE(p) myfree((void **)&(p))```使用宏定义后,在代码中可以直接通过FREE宏来释放内存,例如:```cint *ptr = malloc(sizeof
C语言中常见内存错误及对策浅析
= NULL) { strcpy(p, "hello"); q = p; strcpy(q, "china"); free(p); free(q); // 错误:重复释放内存}```**正确的做法:**
GetMemory的基本用法
p; } void Test(void) { char *str = NULL; str = GetMemory(); printf(str); free(str); // 释放内存 } ```###
Malloc等函数的注意事项 (1).pdf
free:\n");for(i=0; i<SIZE; i++)printf("%d ", p[i]);printf("\n");free(p);p = NULL;// 释放内存并置指针为 NULLprintf
malloc和free的实现
= 0; p->s.nextblock = newp; freeblock = newp; // 返回内存块首地址 return (void*)(newp + 1);}```#### 五、free函数详解


