malloc 分配空间

头文件

#include <stdlib.h>

语法

void *malloc( size_t size );

功能

函数指向一个大小为 size 的空间,如果发生错误,则返回 NULL。存储空间的指针必须为堆,不能是栈。这样以便以后用 free 函数释放空间。

示例

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

int main(void)
{
    char *str;

    /* allocate memory for string */
    /* This will generate an error when compiling */
    /* with C++, use the new operator instead. */
    if ((str = malloc(10)) == NULL)
    {
        printf("Not enough memory to allocate buffer\n");
        exit(1);  /* terminate program if out of memory */
    }

    /* copy "Hello" into string */
    strcpy(str, "Hello");

    /* display string */
    printf("String is %s\n", str);

    /* free memory */
    free(str);

    return 0;
}

输出结果:

String is Hello
关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
公众号