c_cpp 使用realloc扩展int指针以保存c中的更多元素

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 使用realloc扩展int指针以保存c中的更多元素相关的知识,希望对你有一定的参考价值。

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


//example using realloc to extend memory usage in c


int main() {
    int * ptr = malloc(sizeof(int)* 3);
    ptr[0] = 1;
    ptr[1] = 2;
    ptr[2] = 3;
    printf("the first element is:%d\n", ptr[0]);
    printf("the second element is:%d\n", ptr[1]);
    printf("the third element is:%d\n", ptr[2]);
    ptr = realloc(ptr, 4);
    printf("The pointer is reallocated\n");
    ptr[3] = 4;
    printf("[%d,%d,%d,%d] is the new array", ptr[0], ptr[1], ptr[2], ptr[3]);
    
    free(ptr);
    return 0;
}
/*the first element is:1
the second element is:2
the third element is:3
The pointer is reallocated
[1,2,3,4] is the new array*/

以上是关于c_cpp 使用realloc扩展int指针以保存c中的更多元素的主要内容,如果未能解决你的问题,请参考以下文章

通过将指针整数和 sizeof(int) 相乘来使用 realloc 不起作用

将 realloc() 返回的地址分配给同一个指针是一种好的编码习惯吗?

C扩展一个指针数组

尝试在 C 中使用 realloc 扩展数组时出现分段错误错误 [关闭]

c_cpp 指针迭代与C中的int指针

零基础学C语言内存知识总结:realloc函数和free函数