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