C · Essencial · Inglês · Técnico
sizeof
Operador que devolve, em bytes, o tamanho de um tipo ou de um objeto, resolvido em tempo de compilação (salvo arrays de tamanho variável). O resultado é do tipo size_t.
Onde usar
Aparece em toda chamada de malloc, como malloc(n * sizeof *p). Aplicar sizeof ao objeto, e não ao tipo, mantém o código certo se o tipo mudar.
Em código
int v[10];
size_t n = sizeof v / sizeof v[0];
printf("%zu\n", n); // 10Exemplos
Use sizeof on the variable, not on the type.
Use sizeof na variável, não no tipo.
Inside the function, sizeof gives the pointer size, not the array size.
Dentro da função, sizeof dá o tamanho do ponteiro, não o do array.
Cuidado
Dentro de uma função, sizeof de um parâmetro declarado como array dá o tamanho do ponteiro, não o do array.
Origem
Do inglês size of, tamanho de.