sizeof()

Descrição

O operador

sizeof
retorna o número de bytes de uma variável, ou o número de bytes ocupados em um vetor.

Sintaxe

sizeof(variável)

Parâmetros

variável
: uma variável ou vetor de qualquer tipo (ex: int, float, byte)

Retorna

O número de bytes em uma variável ou o número de bytes ocupados em um vetor.

size_t

Código de Exemplo

O perador

sizeof
é útil para manipular arrays (tais como strings), onde é conveniente ser possível mudar o tamanho do vetor sem quebrar outras partes do programa.

O programa abaixo imprime um string um caractere de cada vez. Tente mudar o texto da frase.

1char minhaStr[] = "Esse é um teste";
2
3 void setup() {
4 Serial.begin(9600);
5 }
6
7 void loop() {
8 for (byte i = 0; i < sizeof(minhaStr) - 1; i++) {
9 Serial.print(i, DEC);
10 Serial.print(" = ");
11 Serial.write(minhaStr[i]);
12 Serial.println();
13 }
14 delay(5000); // espera 5 segundos
15 }

Notas e Advertências

Note que

sizeof
retorna o número total de bytes. Então, para vetores de tipos de dados maiores, como
int
, o loop
for
parece algo do tipo abaixo.

1int meusValores[] = {123, 456, 789};
2
3 // este loop for funciona corretamente com um array de qualquer tipo ou tamanho
4 for (byte i = 0; i < (sizeof(meusValores)/sizeof(meusValores[0])); i++) {
5 // fazer algo com meusValores[i]
6 }

Note também que uma string apropriadamente formatada é encerrada com o símbolo NULL, que tem valor ASCII 0.

Ver Também

Suggest changes

The content on docs.arduino.cc is facilitated through a public GitHub repository. If you see anything wrong, you can edit this page here.

License

The Arduino documentation is licensed under the Creative Commons Attribution-Share Alike 4.0 license.