В чем преимущество использования memset () в C

Мне было любопытно, есть ли там 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;
}
9
задан embedded_guy 16 December 2011 в 00:50
поделиться