C语言malloc()函数,动态分配内存,不初始化

malloc()函数

C语言的malloc()是stdlib.h中的函数,可用于动态分配内存,与前面章节中介绍的calloc()函数不同的是,malloc()动态分配内存之后,并不会将其进行初始化。malloc()函数返回值为一个指向分配好内存的地址的指针。malloc()语法如下:

void* malloc(int size);

malloc()参数

参数描述
sizeint类型,以字节为单位,指定分配的内存空间的大小(非元素的大小)

calloc()实例代码

下面实例使用malloc()函数动态分配一个sizeof(int)大小的内存,并输出,之后使用前面章节介绍的free()函数来释放内存空间,并将指针指向NULL,避免悬挂指针:

#include "stdio.h"
#include "stdlib.h"
#include "string.h"


int main() {
    int *ptr = malloc(sizeof(int));
    if(ptr == NULL){
        printf("未动态分配内存\n");
    }else{
        printf("动态分配内存完成\n");
        *ptr = 1;
        printf("%d\n", *ptr);
    }

    // free()函数释放内存
    free(ptr);
    // 指针指向NULL,避免悬挂指针
    ptr = NULL;
    
    return 0;

}

代码运行后,得到输出值为:

动态分配内存完成
1

免责声明:内容仅供参考,不保证正确性。


全栈后端 / C语言教程 :


















Copyright © 2022-2024 笨鸟工具 x1y1z1.com All Rights Reserved.