Diferencia entre revisiones de «sizeof()»

De ArduWiki
Saltar a: navegación, buscar
(Sintexis)
(Parámetros)
Línea 8: Línea 8:
  
 
== Parámetros ==
 
== Parámetros ==
;variable: nombre de variable o matriz a evaluar, que puede ser tipo: [[char]], [[byte]], [[int]], [[long]], [[float]].
+
;matriz:nombre de la matriz a evaluar, que puede ser tipo: [[char]], [[byte]], [[int]], [[word]], [[long]], [[float]].
  
 
== Retorna ==
 
== Retorna ==

Revisión del 18:25 25 jun 2019

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(matriz);

Parámetros

matriz
nombre de la matriz a evaluar, que puede ser tipo: char, byte, int, word, long, float.

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
}

Vea tambien

Referencias