Como determinar o tamanho de uma matriz

Como determinar o tamanho de uma matriz
Array é uma coleção linear de elementos. Para calcular o tamanho da matriz, podemos usar o operador sizeof (). Com a ajuda do operador sizeof (), podemos facilmente descobrir o tamanho de uma matriz. Exceto o operador sizeof (), também podemos usar o ponteiro para calcular o tamanho da matriz.

Princípio básico do tamanho do operador para calcular o tamanho da matriz

Memória necessária (em bytes) = sizeof (datatype) * sizeof matriz.

Exemplo: int a [10];

Então, sizeof (datatype) = sizeof (int) = 4 bytes

Tamanho de matriz = 10 .

Então, memória necessária = (4 * 10) bytes = 40 bytes

Exemplo de programação 1:

# incluir
# incluir
int main ()

int arr [] = 1, 2, 3, 4, 5;
int i;
int size = sizeof (arr) / sizeof (arr [0]); // tamanho da matriz.
printf (“Tamanho da matriz = %d \ n”, tamanho);
printf (“Os elementos da matriz são:”);
para (i = 0; i < size ; i++)

printf (“arr [ %d] = %d \ n”, i, arr [i]);

Saída: O tamanho da matriz é 5

Explicação: Aqui, declaramos uma matriz chamada arr [] e atribuímos alguns valores. Eles são 1, 2, 3, 4, 5. Se queremos determinar o tamanho da matriz, significa quantos elementos presentes na matriz, temos que escrever o cálculo com a ajuda do Sizeof Operator.

Sizeof (arr []) / sizeof (arr [0]);

Aqui, o tamanho de arr [] é 5 e cada número inteiro pega a memória 4 bytes.

Portanto, a memória total é consumida = (5 * 4) bytes.

= 20 bytes.

Sizeof (arr [0]) significa aqui os elementos são inteiros. Então, leva a memória 4 bytes.

Então, o tamanho da matriz = (20 /4) bytes = 5 bytes.

Se pegarmos a matriz ou string de personagens em vez de matriz inteira, podemos explicar o que aconteceu no próximo programa.

Exemplo de programação 2:

# incluir
# incluir
int main ()

char arr [] = a, b, c, d, e;
int i;
int size = sizeof (arr) / sizeof (arr [0]); // tamanho da matriz
printf (“Tamanho da matriz = %d \ n”, tamanho); .
printf (“Os elementos da matriz são:”);
para (i = 0; i < size ; i++)

printf (“arr [ %d] = %c \ n”, i, arr [i]);

Saída: O tamanho da matriz é 5

Explicação: Aqui, declaramos uma matriz chamada arr [] e atribuímos alguns valores.Eles são 'a', 'b', 'c', 'd', 'e'. Se queremos determinar o tamanho da matriz, significa quantos elementos presentes na matriz, temos que escrever o cálculo com a ajuda do operador sizeof ().

Sizeof (arr []) / sizeof (arr [0]);

Aqui, o tamanho de arr [] é 5 e cada personagem leva a memória 2 bytes.

Portanto, a memória total é consumida = (5 * 2) bytes.

= 10 bytes.

sizeof (arr [0]) significa aqui os elementos são o personagem. Então, leva a memória 2 bytes.

Então, o tamanho da matriz = (10/2) bytes = 5 bytes.

Se levarmos o Float Array em vez de matriz de personagens, podemos explicar o que aconteceu no próximo programa.

Exemplo de programação 3:

# incluir
# incluir
int main ()

char arr [] = 1.5, 2.5, 3.5, 4.5, 5.5;
int size = sizeof (arr) / sizeof (arr [0]); // tamanho da matriz
printf (“Tamanho da matriz = %d \ n”, tamanho);
printf (“Elementos da matriz:”);
para (int i = 0; i < size ; i++ )

printf (“arr [ %d] = %f \ n”, i, arr [i]);

Saída: O tamanho da matriz é 5

Explicação: Aqui, declaramos uma matriz chamada arr [] e atribuímos alguns valores.Eles são 1.5, 2.5, 3.5, 4.5, 5.5. Se queremos determinar o tamanho da matriz, significa quantos elementos presentes na matriz, temos que escrever cálculo com a ajuda do operador sizeof ().

Sizeof (arr []) / sizeof (arr [0]);

Aqui, o tamanho de arr [] é 5 e cada flutuação leva a memória 8 bytes.

Então, a memória total é consumida = (5 * 8) bytes.

= 40 bytes.

Sizeof (arr [0]) significa aqui os elementos são flutuantes. Então, leva a memória 8 bytes.

Então, o tamanho da matriz = (40 /8) bytes = 5 bytes.

Calcule o tamanho da matriz usando o ponteiro

Outro método para determinar o tamanho da matriz é usando o ponteiro.

Exemplo de programação 4:

int main ()

int main ()

int arr [] = 1, 2, 3, 4, 5;
int size = * (& arr + 1) - arr; // declarando a variável de tamanho usando ponteiro.
printf (“O número de elementos é arr [] é %d”, tamanho);
retornar 0;

Explicação: Aqui, calculamos o tamanho da matriz usando ponteiro.

int size = * (& arr + 1) - arr;

A linha acima nos ajuda a calcular o tamanho da matriz. Aqui, arr, o endereço base da matriz ou endereço do primeiro índice da matriz.

* (& arr + 1)

Significa o endereço do segundo índice da matriz. Porque adicionamos 1 ao endereço do endereço base.

Se subtrairmos o valor do endereço da matriz de seu endereço base, obtemos o tamanho de cada bloco na matriz. Em seguida, podemos facilmente descobrir o tamanho da matriz, contando o total de insumos que damos a essa matriz específica.

Saída:

Conclusão

Claramente, é mostrado que, com a ajuda de sizeof () ponteiro do operador, podemos calcular facilmente o comprimento da matriz ou o tamanho da matriz. Principalmente, o operador sizeof () é responsável por calcular o tamanho da matriz, mas também o ponteiro também pode suportar para determinar o tamanho da matriz passivamente.