Diferencia entre revisiones de «sizeof()»
De ArduWiki
m (→Advertencias) |
(→Ejemplo 1) |
||
Línea 21: | Línea 21: | ||
== Ejemplo 1 == | == Ejemplo 1 == | ||
+ | <syntaxhighlight lang="c++"> | ||
+ | int valores[] = {1023, 45056, 77}; | ||
+ | byte indice = sizeof(valores) / sizeof(int); | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | == Ejemplo 2 == | ||
Creamos una matriz de caracteres con cierto valor y luego mostramos carácter a carácter. | Creamos una matriz de caracteres con cierto valor y luego mostramos carácter a carácter. | ||
Revisión del 22:23 25 jun 2019
Contenido
Descripción
Evalúa el tamaño en bytes de una variable o matriz. Acepta cualquier tipo de datos: char, byte, int, long, float, etc.
Sintexis
sizeof(variable);
Parámetros
Retorna
Número de bytes ocupados por variable o matriz.
Advertencias
sizeof() al contar en bytes, no necesariamente lo hace en cantidad de elementos; esto depende del tipo de dato. Lo más correcto sería:
sizeof(matriz) / sizeof(matriz[0])
Para así obtener el tamaño en cantidad de elementos y no en bytes.
Ejemplo 1
int valores[] = {1023, 45056, 77};
byte indice = sizeof(valores) / sizeof(int);
Ejemplo 2
Creamos una matriz de caracteres con cierto valor y luego mostramos carácter a carácter.
const byte matriz[]="Esto es una matriz";
void setup(){
Serial.begin(115200);
for (byte i=0; i<sizeof(matriz)-1; i++{
Serial.write(matriz[i]); //Caracter
Serial.print(" = ");
Serial.println(matriz[i]); //Codigo ASCII
delay(100);
}
}
void loop(){
//Nada
}