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