C语言中的动态内存分配

2019-10-09  本文已影响0人  莹子说她想吃烤冷面

在编译时分配的内存叫做“静态内存分配”,比如:

int a[256] ; //分配 256 ints 空间,且将a设为指向数组首位的指针

“动态内存分配”发生在程序调入和执行的时候。

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

int main(){
    int N;
    printf("N:");
    scanf("%d", &N);
    int *pa = (int *) malloc(sizeof(int)*N);
    pa[N-1] = 1;
    free(pa);
    return 0;
}

在很多的情况下,我们并不能在程序运行之前就确定要使用多大的数组,这时就要使用动态内存分配,即在程序执行的过程中动态地分配或者回收存储空间。
malloc和free一定要成对出现!

上一篇 下一篇

猜你喜欢

热点阅读