C语言 malloc动态内存分配函数

简介: C语言 malloc动态内存分配函数

malloc函数:malloc时动态内存分配函数,用于申请一块连续的指定大小的内存块区域以void*类型返回分配的内存区域地址,就是当数组创建长度不一定 害怕数据存储不够或者不能浪费时间


在使用malloc开辟空间时,使用完成一定要释放空间,如果不释放会造内存泄漏。\n在使用malloc函数开辟的空间中,不要进行指针的移动,因为一旦移动之后可能出现申请的空间和释放空间大小的不匹配


如果分配成功则返回指向被分配内存的指针,否则返回空指针NULL。malloc函数的返回的是无类型指针,在使用时一定要强制转换为所需要的类型。


指针自身 = (指针类型*)malloc(sizeof(指针类型)*数据数量)


  int *p = NULL;
  int n = 10;
  p = (int *)malloc(sizeof(int)*n);

free函数


作用:释放malloc(或calloc、realloc)函数给指针变量分配的内存空间。注意:使用后该指针变量一定要重新指向NULL,防止悬空指针(失效指针)出现,有效规避错误操作。


free(指针变量);


p=NULL;

int main()
{
  int *p = (int *)malloc(sizeof(int));
  *p = 100;
  free(p);
  p = NULL;
  return 0;


free函数在释放空间之后,把内存前的标志变为0,且为了防止数据泄露,它会把所释放的空间用cd进行填充。


目录
相关文章
|
1天前
|
程序员 编译器 C语言
C语言----动态内存分配(malloc calloc relloc free)超全知识点
C语言----动态内存分配(malloc calloc relloc free)超全知识点
14 6
|
1天前
|
存储 程序员 编译器
C语言:动态内存管理
C语言:动态内存管理
11 1
|
1天前
|
存储 编译器 程序员
C语言:数据在内存中的存储
C语言:数据在内存中的存储
13 2
|
1天前
|
存储 编译器 C语言
C语言:字符函数 & 字符串函数 & 内存函数
C语言:字符函数 & 字符串函数 & 内存函数
15 2
|
1天前
|
编译器
练习使用动态内存相关的4个函数:malloc、calloc、realloc、free
在了解使用动态内存相关的四个函数之前,我们先了解一下,为什么要有动态内存分配?
17 0
|
1天前
|
存储 编译器 C++
【C++】内存管理和模板基础(new、delete、类及函数模板)
【C++】内存管理和模板基础(new、delete、类及函数模板)
23 1
|
1天前
|
编译器 C语言 C++
详解内存操作函数
详解内存操作函数
|
1天前
|
缓存 安全 编译器
【C 言专栏】C 语言函数的高效编程技巧
【5月更文挑战第1天】本文探讨了C语言中函数的高效编程技巧,包括函数的定义与作用(如代码复用和提高可读性)、设计原则(单一职责和接口简洁)、参数传递方式(值传递、指针传递和引用传递)、返回值管理、调用约定、嵌套与递归调用,以及函数优化技巧和常见错误避免。掌握这些技巧能提升C语言代码的质量和效率。
【C 言专栏】C 语言函数的高效编程技巧
|
1天前
|
Linux
Linux rsyslog占用内存CPU过高解决办法
该文档描述了`rsyslog`占用内存过高的问题及其解决方案。
43 4
|
1天前
|
移动开发 运维 监控
掌握Linux运维利器:查看CPU和内存占用,轻松解决性能问题!
掌握Linux运维利器:查看CPU和内存占用,轻松解决性能问题!

热门文章

最新文章