首页 > 其他 > 详细

动态内存管理

时间:2019-07-10 00:13:36      阅读:104      评论:0      收藏:0      [点我收藏+]

malloc 申请动态内存空间

free 释放动态内存空间

callioc 申请并初始化一系列内存空间

reallloc 重新分配内存空间

 

void *malloc(size_t size);

//void *malloc(size_t size);
#include<iostream>
#include<stdlib.h> 
using namespace std;

int main(){
	int *ptr;
	ptr=(int *)malloc(sizeof(int));
	if(ptr==NULL){
		printf("分配内存失败");
		exit(1);
	}
	printf("请输入一个整数");
	scanf("%d",ptr);
	printf("%d",*ptr);
	return 0;
}

 void free(void *ptr);

内存泄漏:

申请的空间没有释放:

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
	while (1)
	{
		malloc(1024);
	}

	return 0;
}

丢失内存块地址

#include <stdio.h>
#include <stdlib.h>

int main()
{
	int *ptr;
	int num = 123;

	ptr = (int *)malloc(sizeof(int));
	if (ptr == NULL)
	{
		printf("鍒嗛厤鍐呭瓨澶辫触锛乗n");
		exit(1);
	}

	printf("璇疯緭鍏ヤ竴涓暣鏁帮細");
	scanf("%d", ptr);

	printf("浣犺緭鍏ョ殑鏁存暟鏄細%d\n", *ptr);

	ptr = #
	printf("浣犺緭鍏ョ殑鏁存暟鏄細%d\n", *ptr);

	free(ptr);

	return 0;
}

 

动态内存管理

原文:https://www.cnblogs.com/helloworld2019/p/11161005.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!