1.对NULL指针进行解引用操作
注意:错误示范!!!!!!
#include<stdio.h>
void main(void)
{
char* p = NULL;
printf("%c\n", *p); //对NULL进行解引用操作
printf("%c\n", 'a');
}
2.对动态开辟内存的越界访问
注意:错误示范!!!!!!
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
int i = 0;
int* p1 = (int*)malloc(sizeof(int)*10);
int* p2 = p1;if (p1 == NULL)
{
return 0;
}
else
{
for (i = 0; i < 10

本文列举并解析了四个常见的C语言动态内存分配错误,包括对NULL指针的解引用,动态内存的越界访问,对非动态开辟内存使用free释放,以及释放动态内存的一部分。这些错误可能导致程序崩溃或产生不可预知的行为。通过理解这些错误,开发者可以更好地避免在内存管理中遇到的问题。
最低0.47元/天 解锁文章
3170

被折叠的 条评论
为什么被折叠?



