Мне было любопытно, есть ли там w как любое преимущество с точки зрения эффективности использования memset () в ситуации, аналогичной приведенной ниже.
Учитывая следующие объявления буфера ...
struct More_Buffer_Info
{
unsigned char a[10];
unsigned char b[10];
unsigned char c[10];
};
struct My_Buffer_Type
{
struct More_Buffer_Info buffer_info[100];
};
struct My_Buffer_Type my_buffer[5];
unsigned char *p;
p = (unsigned char *)my_buffer;
Помимо меньшего количества строк кода, есть ли преимущество в использовании этого:
memset((void *)p, 0, sizeof(my_buffer));
По сравнению с этим:
for (i = 0; i < sizeof(my_buffer); i++)
{
*p++ = 0;
}