C语言之内存空间

  

C语言可以用malloc关键字动态申请内存空间。数组在定义时就必须确定好空间的大小(固定值),动态申请可以由用户自定义空间的大小。在c中只要申请了空间就必须释放掉,否则会造成内存泄露。

C语言之内存空间 - 文章图片C语言之内存空间 - 文章图片
#include<stdio.h>
#include<windows.h>

int main() {
    int* p = NULL;
    int a = 0;
    scanf_s("%d",&a);//使用malloc动态申请内存,用户可以自己定义申请多少个int,不造成空间浪费。数组则不行,数组在定义时必须确定好数组长度(空间大小)
    p=(int *)malloc(sizeof(int)*a);
    free(p);//释放申请的空间(堆),否则会造成内存泄露

    system("pause");
    return 0;
}
动态申请堆内存空间

 

相关文章