当前位置:首页 > 内存 > 正文

malloc在哪里分配内存

  • 内存
  • 2024-08-13 01:00:35
  • 1177

一、malloc在哪个头文件stdlib.h头文件。malloc函数定义在头文件stdlib.h中。stdlib.h是C语言标准库中的头文件。它包含各种常用的函数和宏定义,包括内存分配、随机数生成、程序退出等。所以malloc位于头文件stdlib.h中。
二、malloc函数内存什么地方申请空间内存堆区域,堆栈区分为静态区和代码区。全局变量和静态变量都存储在静态区域中。栈区有局部变量,动态应用的变量(即new和malloc函数使用的变量)存储在堆区域中。


三、malloc函数有什么用。什么叫做动态分配内存

malloc函数与new关键字的功能类似。Zaodong向操作系统申请,在程序运行时分配一段连续的内存空间(内存块)。该位置位于堆内存上。程序运行时,向操作系统申请分配内存,内存地址由操作系统决定,称为动态分配;在编译期间分配或安排内存空间称为静态分配。静态分配的内存空间一般是在栈上,相对于程序的进程空间,由编译器决定,这是两个主要的区别。

关于堆和栈的相关知识请去百度。

inta;//定义一个整数变量(静态分配一块可以容纳整数的内存空间,一般为4个字节)
int*p=(int*)malloc(sizeof(int));//动态分配一个整型内存空间。同样是4字节

静态分配内存,new关键字都是已知类型。malloc分配空间时,并不关心内存用来存储什么类型的数据,因此它返回的是虚拟指针,因此需要进行强制转换。例如,示例中在malloc前添加(int*)。