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

最初に確認して#include <string.h>ください:

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

このメソッドは、配列内の要素のタイプに関係なく機能します。

于 2011-02-23T09:33:49.043 に答える
1

配列は連続したアドレス空間に配置されるため、2 次元配列に対して特別なことをする必要はありません。を簡単に使用できます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 に答える