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 segundos15 }
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 tamanho4 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.