这样的内存使用方式有两个特点:
内存空间开辟大小是固定的.
数组在声明的时候,必须指定数组的长度,它所需要的内存在编译时分配....头文件 #include
格式 void * malloc(size_t size);
功能 为大小为size字节的对象分配存储空间,此存储空间中的初始值不确定
返回值 若分配成功...,重新分配为size大小
返回值 若分配成功,则返回一个指向已分配的空间开头的指针;若分配失败,则返回空指针
如果想了解更多关于realloc()函数相关信息,如realloc()函数参数的设定,返回值的设定...可以看到,编译器直接报错"检测到堆损坏".像这种报错不论是说栈区损坏,还是堆区损坏,意思就是在栈上或堆上出现了越界访问的情况....*)malloc(100);
p++;
free(p); //p不再指向动态内存的起始位置
}
在vs2022中测试一下:
可以看到,该错误导致了程序异常终止.
5.对同一块动态内存多次释放