#include<windows.h>
#include<stdio.h>
#include<malloc.h>
int main()
{
int a = 0;
printf("select:");
scanf_s("%d", &a);
switch (a) {
case 1:
{
//从堆中申请内存,需要释放
PCHAR tmp = (PCHAR)malloc(100);
free(tmp);
}
break;
case 2:
{
//从堆中申请内存,需要释放
PCHAR tmp = (PCHAR)malloc(50);
PCHAR pnew = (PCHAR)realloc(tmp, 100);
free(pnew);
}
break;
case 3:
{ //从堆中申请内存,已经初始化,需要释放
PCHAR tmp = (PCHAR)calloc(8, 4);
free(tmp);
}
break;
case 4:
{
//从栈中申请内存,
PCHAR tmp = (PCHAR)_alloca(20);
_freea(tmp);
}
break;
default:
break;
}
return 0;
}
//Windows API
//VirtualAlloc/VirtualAllocEx
//HeapAlloc/HeapFree
//GlobalAlloc/GlobalFree
//资料链接:
//https://blog.csdn.net/study_live/article/details/5304354