#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
