malloc函数和free函数

来源:互联网 发布:tomcat启动端口被占用 编辑:程序博客网 时间:2024/05/17 04:41
#include<stdio.h>#include<stdlib.h>#include<Windows.h>//malloc和free是c标准库中提供的两个函数,用以动态申请和释放内存void main1(){//while (1)//{//void *p = malloc(1024 * 1024 * 100);//空类型的指针,只保存空间地址即可//Sleep(2000);//free(p);//根据地址释放内存空间//}void *p = malloc(0xffffffff - 99);//分配一块指定大小的内存空间,生成一个空类型的首地址if (p == NULL)//检测内存是否分配,为空值则为没有分配{printf("内存空间不足,没有分配内存空间\n");}system("pause");}void main2(){int *p = (int *)malloc(sizeof(int));//分配一个int类型元素大小(4字节)的内存空间//生成一个空类型的首地址(空指针),强制转换为指向int类型数据的指针//然后赋值给int类型的指针变量*p = 100;printf("%d\n", *p);free(p);//free(p);//内存不能重复释放,p指向的内存空间或许被其他变量使用或者还未进行分配system("pause");}void main(){int num;scanf_s("%d", &num);int *p = malloc(sizeof(int)*num);for (int i = 0; i < num; i++)//按照数组的方式访问内存{p[i] = i;printf("%d,%x\n", p[i], p + i);}free(p);system("pause");}

原创粉丝点击