realloc 改变已分配空间的大小

头文件

#include <stdlib.h>

语法

void *realloc( void *ptr, size_t size );

功能

函数将 ptr 对象的储存空间改变为给定的大小 size。参数 size 可以是任意大小,大于或小于原尺寸都可以。返回值是指向新空间的指针,如果错误发生返回 NULL。 

示例

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

int main(void)
{
    char *str;

    /* allocate memory for string */
    str = malloc(10);

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

    printf("String is %s\n  Address is %p\n", str, str);
    str = realloc(str, 20);
    printf("String is %s\n  New address is %p\n", str, str);

    /* free memory */
    free(str);

    return 0;
}

输出结果:

String is Hello
  Address is 0000000000A21410
String is Hello
  New address is 0000000000A21410
关于
本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明,如果原文没有版权声明,请来信告知:hxstrive@outlook.com
公众号