这是我正在使用的代码...
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/