0

我有一个双暗。大批:

 alarm_1_active_buffer[MAX_NUM_ALARMS][MAX_ALARM_STRING_SIZE];

我想在填充之前清除缓冲区。
像这样 :

 for(index=0; index<MAX_NUM_ALARMS ; index++)
    {
        memset(&alarm_1_active_buffer[index], 0, MAX_ALARM_STRING_SIZE);
        memset(&alarm_1_active_buffer[index],string, MAX_ALARM_STRING_SIZE);
    }

它不工作。

4

2 回答 2

1

由于数组放置在连续的地址空间中,因此您不必为二维数组做任何特殊的事情。您可以简单地使用memset(alarm_1_active_buffer, 0, MAX_NUM_ALARMS * MAX_ALARM_STRING_SIZE * sizeof(type of alarm_1_active_buffer));.

于 2011-02-23T09:32:44.920 回答
1

确保#include <string.h>首先:

memset(alarm_1_active_buffer, 0, sizeof(alarm_1_active_buffer));

无论数组中的元素类型如何,此方法都有效。

于 2011-02-23T09:33:49.043 回答