Arduino Comprimento da matriz usando a função Sizeof

Arduino Comprimento da matriz usando a função Sizeof
Arduino é uma placa eletrônica usada para criar projetos interativos. Um dos aspectos essenciais da programação do Arduino está trabalhando com matrizes. Ao trabalhar com matrizes, é essencial saber o tamanho da matriz. Neste artigo, discutiremos a função Arduino Sizeof (), que ajuda a determinar o comprimento de uma matriz.

Descrição

A função sizeof () em Arduino é uma função interna que nos dá o tamanho de uma variável ou uma matriz. O tamanho de uma variável é o total de bytes necessários para armazenar o valor variável, enquanto o tamanho de uma matriz é o total de bytes necessários para armazenar todos os seus elementos.

Sintaxe
Aqui está a sintaxe básica para a função sizeof () em Arduino:

tamanho de (variável)

Nesta sintaxe, a variável é o nome da variável ou tipo de dados que você deseja determinar o tamanho de. A função sizeof () fornece o tamanho da variável em bytes como um valor inteiro.

Parâmetros

Esta função leva o seguinte parâmetro:
Variável: cujo tamanho precisamos encontrar.

A função sizeof () pode tomar qualquer variável ou tipo de dados como seu argumento, incluindo números inteiros, carros alegóricos, caracteres, matrizes e estruturas.

Retorna

Esta função retorna os bytes totais em uma variável ou número de bytes tirados por uma matriz.

Observação: É importante observar que a função sizeof () não inclui nenhuma sobrecarga adicional que possa ser exigida pelo hardware ou software. Por exemplo, se você tiver uma matriz de 10 números inteiros, a função sizeof () retornará o tamanho da matriz em bytes, mas não leva em consideração nenhuma sobrecarga adicional que possa ser exigida pelo hardware ou software.

Como encontrar o comprimento da string usando a função sizeof () em Arduino

O código a seguir pega uma string e retorna o comprimento dele usando a função sizeof ().

char mystr [] = "arduino";
Void Setup ()
Serial.começar (9600);

Void Loop ()
para (byte i = 0; i < sizeof(myStr) - 1; i++)
Serial.impressão (i, dez);
Serial.print ("=");
Serial.escreva (mystr [i]);
Serial.println ();

atraso (50000); // desacelerar o programa

O código acima começa definindo uma matriz de caracteres chamada mystr que contém a string "Arduino““.

O configurar() A função iniciou a comunicação serial. Dentro de laço() função, existe um loop que itera sobre cada elemento da matriz mystr usando uma variável de índice i.

A condição do loop é subtraída de 1, o que significa que o loop será executado de 0 para o comprimento da matriz menos 1. O motivo da subtração 1 é porque a função sizeof () retorna o número total de bytes necessários para armazenar a matriz, que inclui o caractere do terminador nulo no final da string. Como não queremos incluir o terminador nulo em nosso loop, subtraímos 1 do comprimento da matriz.

A função de loop imprimirá o índice e o caractere correspondente usando a série.impressão e serial.Escreva funções. O programa atrasa para 50000 milissegundos antes de repetir o loop.

Saída
Na saída dada abaixo, podemos ver o tamanho de uma string.

Como encontrar o tamanho da matriz usando a função sizeof () em Arduino

Aqui está um código de exemplo que usa a função sizeof () para determinar o comprimento de uma matriz inteira:

int myarray [] = 1, 2, 3, 4, 5;
Void Setup ()
Serial.começar (9600);

Void Loop ()
int arrayLength = sizeof (myarray) / sizeof (myArray [0]);
Serial.print ("O comprimento da matriz é:");
Serial.println (ArrayLength);
atraso (5000);

Neste exemplo, temos uma matriz inteira chamada MyArray que contém os valores 1 a 5. A função setup () inicializa a comunicação serial e a função loop () é onde a lógica principal do programa reside.

Dentro da função loop (), usamos a função sizeof () para determinar o número total de bytes necessários para armazenar a matriz MyArray. Dividimos esse valor pelo número de bytes necessários para armazenar um único elemento da matriz (que é dada por sizeof (myarray [0])) para obter o comprimento da matriz. Uma variável inteira chamada ArrayLength armazenará este valor.

Nós então usamos a série.print () e serial.Println () funciona para imprimir o comprimento da matriz. Finalmente, usamos a função de atraso () para pausar o programa por 5 segundos antes de executar o loop novamente.

Saída
Na saída dada abaixo, podemos ver o tamanho de uma matriz.

Conclusão

A função sizeof () em Arduino pode determinar o comprimento de uma matriz. Ao passar uma matriz como um argumento para a função sizeof (), você pode obter facilmente o número de elementos na matriz, independentemente de seu tipo de dados. É importante observar que o sizeof () retorna o tamanho da matriz em bytes. Para uma descrição mais detalhada desta função, leia a descrição do código no artigo acima.