c - 动态数组的重新分配?

标签 c arrays dynamic

这是我正在使用的代码...

while(temp[i]!=0){
    while(temp[i]!=3){
        FrameBuffer[a]=temp[i];
        i++;
        a++;
    }
    FrameBuffer[a]=temp[i];
    printf(" Framebuffer: %s ", FrameBuffer);
    result=layer1(FrameBuffer,PacketAction);
    i++;
    a=0;
}

问题是我希望每次通过内部 while 循环时都重置 FrameBuffer(FrameBuffer 的大小在循环开始时为 0)。我试过使用 free(FrameBuffer) 但出现错误,因为我多次释放数组。我也试过写 FrameBuffer=NULL,但是没有用。任何帮助将不胜感激。谢谢!

最佳答案

如果您只需要在每个内循环开始之前初始化 FrameBuffer,可以使用 memset-:

while(temp[i]!=0) {
    memset(FrameBuffer, 0, sizeof(FrameBuffer));

    while(temp[i]!=3) {

关于c - 动态数组的重新分配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16003381/

相关文章:

C 中大整型加法中的进位数字/填充

C - 以文本作为参数

c - 在 C 中使用指针与数组

java - 如何获取 Activity 时间表的颜色?

c - 为什么最后一个元素没有附加到我的数字数组中?

PHP加密算法

JavaScript 匹配数组

Java 以编程方式扩展

grails - 在Grails中的投影

c - 我的 if 语句与我想要的相反