Перейти к содержанию
    

Где обнулить буфер

у меня есть в функции обнуление буфера

uint16_t l_uiDataBuffer[32];

//do some stuff

memset(l_uiDataBuffer,0,sizeof(l_uiDataBuffer));
buffcpy(l_uiDataBuffer,l_uiTempDataP, l_uiDataSize);

если я заменю на

uint16_t l_uiDataBuffer[32] = { 0 };

buffcpy(l_uiDataBuffer,l_uiTempDataP, l_uiDataSize);

я получу какое то преимущество? может uint16_t l_uiDataBuffer[32] = { 0 }; делается во время компиляции?

 

хотя нет, локальная переменная. но может это быстрее чем звать memset?

Изменено пользователем Jenya7

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

uint16_t l_uiDataBuffer[32] = { 0 };

не обнулит Ваш буфер.

Еще как обнулит.

 

хотя нет, локальная переменная. но может это быстрее чем звать memset?

Не должно быть быстрее, то же самое. Другое дело, что memset заметить проще. И таки да, смысл { 0 } не все понимают :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...