Descripción
La función sizeof () en Arduino es una función incorporada que nos da el tamaño de una variable o una matriz. El tamaño de una variable es el total de bytes necesarios para almacenar el valor variable, mientras que el tamaño de una matriz es el total de bytes requeridos para almacenar todos sus elementos.
Sintaxis
Aquí está la sintaxis básica para la función sizeOf () en Arduino:
sizeof (variable)
En esta sintaxis, la variable es el nombre de la variable o tipo de datos que desea determinar el tamaño de. La función sizeof () proporciona el tamaño de la variable en bytes como valor entero.
Parámetros
Esta función toma el siguiente parámetro:
variable: cuyo tamaño necesitamos encontrar.
La función sizeof () puede tomar cualquier variable o tipo de datos como argumento, incluidos enteros, flotadores, caracteres, matrices y estructuras.
Devoluciones
Esta función devuelve los bytes totales en una variable o número de bytes tomados por una matriz.
Nota: Es importante tener en cuenta que la función sizeof () no incluye ninguna sobrecarga adicional que pueda ser requerida por el hardware o el software. Por ejemplo, si tiene una matriz de 10 enteros, la función sizeOf () devolverá el tamaño de la matriz en bytes, pero no tiene en cuenta ninguna sobrecarga adicional que el hardware o el software puedan requerir.
Cómo encontrar la longitud de la cadena usando la función sizeof () en Arduino
El siguiente código toma una cadena y devuelve la longitud con la función sizeOf ().
char mystr [] = "Arduino";
setup () void
De serie.comenzar (9600);
bucle void ()
para (byte i = 0; i < sizeof(myStr) - 1; i++)
De serie.imprimir (i, dec);
De serie.imprimir ("=");
De serie.escribir (mystr [i]);
De serie.println ();
retraso (50000); // ralentizar el programa
El código anterior comienza definiendo una matriz de caracteres llamada MyStr que contiene la cadena "Arduino".
El configuración() La función comenzó la comunicación en serie. Dentro de bucle() función, hay un bucle for que itera sobre cada elemento de la matriz MyStr usando una variable de índice I.
La condición de bucle se resta del 1, lo que significa que el bucle se ejecutará de 0 a la longitud de la matriz menos 1. La razón para restar 1 es porque la función sizeof () devuelve el número total de bytes requeridos para almacenar la matriz, que incluye el carácter de terminador nulo al final de la cadena. Como no queremos incluir el terminador nulo en nuestro bucle, restamos 1 de la longitud de la matriz.
La función de bucle imprimirá el índice y el carácter correspondiente utilizando la serie.Impresión y serie.Escribir funciones. El programa luego se retrasa para 50000 milisegundos antes de repetir el bucle.
Producción
En la salida dada a continuación podemos ver el tamaño de una cadena.
Cómo encontrar el tamaño de la matriz usando la función sizeof () en Arduino
Aquí hay un código de ejemplo que usa la función sizeof () para determinar la longitud de una matriz entera:
int myArray [] = 1, 2, 3, 4, 5;
setup () void
De serie.comenzar (9600);
bucle void ()
int ArrayLength = sizeof (myArray) / sizeof (myArray [0]);
De serie.imprimir ("La longitud de la matriz es:");
De serie.println (ArrayLength);
retraso (5000);
En este ejemplo, tenemos una matriz entera llamada MyArray que contiene los valores 1 a 5. La función Setup () inicializa la comunicación en serie, y la función Loop () es donde reside la lógica principal del programa.
Dentro de la función Loop (), usamos la función sizeof () para determinar el número total de bytes requeridos para almacenar la matriz myArray. Dividamos este valor por el número de bytes requeridos para almacenar un solo elemento de la matriz (que está dada por sizeof (myArray [0])) para obtener la longitud de la matriz. Una variable entera llamada ArrayLength almacenará este valor.
Luego usamos la serie.print () y serie.Funciones println () para imprimir la longitud de la matriz. Finalmente, usamos la función de retraso () para detener el programa durante 5 segundos antes de ejecutar el bucle nuevamente.
Producción
En la salida dada a continuación podemos ver el tamaño de una matriz.
Conclusión
La función sizeof () en Arduino puede determinar la longitud de una matriz. Al pasar una matriz como argumento a la función sizeOf (), puede obtener fácilmente el número de elementos en la matriz, independientemente de su tipo de datos. Es importante tener en cuenta que sizeof () devuelve el tamaño de la matriz en bytes. Para una descripción más detallada de esta función, lea la descripción del código en el artículo anterior.