动态数组在C语言中的实现

动态数组在C语言中的实现,c,arrays,pointers,dynamic,realloc,C,Arrays,Pointers,Dynamic,Realloc,C中的realloc函数是否分配连续内存空间 我正在尝试实现动态整数数组。指针应该按数组元素的大小递增还是按1递增 在C中实现动态数组还有其他更好的方法吗 C中的realloc函数是否分配连续内存空间 对 我正在尝试实现动态整数数组。指针应该按数组元素的大小递增还是按1递增 您应该将指针增加1 在C中实现动态数组还有其他更好的方法吗 使用malloc系列函数是唯一的方法。但在C99和后者中,您可以使用(但它在堆栈上分配内存时有一些限制) 是的,就像malloc()一样 如果您有一个int*pt

C中的realloc函数是否分配连续内存空间

  • 我正在尝试实现动态整数数组。指针应该按数组元素的大小递增还是按1递增

  • 在C中实现动态数组还有其他更好的方法吗

  • C中的realloc函数是否分配连续内存空间

    我正在尝试实现动态整数数组。指针应该按数组元素的大小递增还是按1递增

    您应该将指针增加
    1

    在C中实现动态数组还有其他更好的方法吗

    使用
    malloc
    系列函数是唯一的方法。但在C99和后者中,您可以使用(但它在堆栈上分配内存时有一些限制)

  • 是的,就像malloc()一样

  • 如果您有一个
    int*ptr
    ,它是指向动态分配的
    int
    数组的元素的指针,一个简单的
    ptr++
    将指向下一个元素

  • 在C中使用
    malloc()
    realloc()
    对动态数组来说似乎是一个很好的选择


  • 您的意思是“与原始内存相邻”吗?谢谢您的快速回复!我现在需要更改我的代码@用户3224177;什么变化?按指针的大小增加大小是没有意义的,它应该将内存增加一倍,或者更好的是,将其增加150%。它给出了追加的摊销固定时间!是的,C语言中最好的方法是使用realloc。我上面的评论也适用于这里。