ExpertiDict

C · Essencial · Inglês · Técnico

sizeof

/ˈsaɪz.ʌv/palavra-chave

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); // 10

Exemplos

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.

Veja também

Todos os termos de C