ExpertiDict

C · Intermediário · Inglês · Técnico

memset

/ˈmɛm.sɛt/substantivo

Função que preenche n bytes de uma região com um mesmo valor de byte. É muito usada para zerar buffers e structs.

Onde usar

memset(&s, 0, sizeof s) zera uma struct inteira. Preencher arrays de int com valores diferentes de 0 ou -1 dá resultado inesperado, porque o preenchimento é por byte.

Em código

int v[4];
memset(v, 0, sizeof v); // zera tudo
char s[8];
memset(s, 'x', 7);
s[7] = '\0'; // "xxxxxxx"

Exemplos

Zero the struct with memset before filling it.

Zere a struct com memset antes de preenchê-la.

memset fills bytes, not ints.

O memset preenche bytes, não ints.

Cuidado

Confiar nele para apagar senhas da memória: o compilador pode eliminá-lo se os dados não forem lidos depois.

Origem

Abreviação de memory set.

Veja também

Todos os termos de C