Como declarar matrizes em c ++

A maneira usual de declarar uma matriz é simplesmente alinhar o nome do tipo, seguido por um nome da variável, seguido de um tamanho entre parênteses, como nesta linha de código:

Números int [10] -

Esse código declara um array de 10 inteiros. O primeiro elemento obtém índice 0, e o elemento final obtém índice 9. Sempre lembrar que em matrizes C ++ iniciar a 0, e o mais alto índice é menos um do que o tamanho. (Lembrar, índice refere-se à posição no interior da matriz, e Tamanho refere-se ao número de elementos na matriz.)

Uma pergunta comum que o aluno programação habitual pergunta é: “Posso declarar uma matriz sem especificar um tamanho?” A linha ficaria assim:

Números int []

Em certas situações, você pode declarar uma matriz sem colocar um número entre parênteses. Por exemplo, você pode inicializar uma matriz sem especificar o número de elementos:

MyNumbers int [] = {} - 1,2,3,4,5,6,7,8,9,10

O compilador é inteligente o suficiente para contar quantos elementos você colocar dentro das chaves, em seguida, o compilador faz que contar o tamanho da matriz.

Especificando o tamanho da matriz ajuda a diminuir suas chances de ter erros, bugs, em todos os lugares bugs. Além disso, ele tem a vantagem adicional de que, na declaração real, se o número entre parênteses não coincide com o número de elementos dentro de chaves, o compilador emite um erro, pelo menos, se o número for menor de qualquer maneira. Os seguintes

int MyNumbers [5] = {} - 1,2,3,4,5,6,7,8,9,10

produz este erro do compilador:

erro: demasiados inicializadores para `int [5]`


Mas se o número entre parênteses é maior que o número de elementos, como no código a seguir, você não vai obter um erro. Por isso tem cuidado!

MyNumbers int [15] = {} - 1,2,3,4,5,6,7,8,9,10

Video: Declarar y recorre una matriz c++

Você também pode pular especificar o tamanho da matriz quando você passar um array para uma função, como este:

int addup (Números int [], contagem int) {int ciclo-int soma = 0-para (loop = 0- ciclo lt; circuito em contagem ++) {soma + = Números [LOOP] -}} retorno sum-

Esta técnica é particularmente poderosa, pois o Adicionar função pode trabalhar para qualquer matriz de tamanho. Você pode chamar a função como esta:

cout lt; lt; Addup (MyNumbers, 10) lt; lt; endl-

Mas esta maneira de fazer isso é meio chato porque você tem que especificar o tamanho cada vez que você chamar para a função. No entanto, você pode contornar esse problema. Olhe para esta linha de código:

cout lt; lt; Addup (MyNumbers, sizeof (MyNumbers) / 4) lt; lt; endl-

Com a matriz, o tamanho de operador informa quantos bytes ele usa. Mas o tamanho da matriz é geralmente o número de elementos, e não o número de bytes. Então você dividir o resultado de tamanho de por 4 (o tamanho de cada elemento).

Mas agora você tem esse número mágico, 4, sentado ali. (Mnúmero agic refere-se a um número aparentemente arbitrário que é recheado em algum lugar em seu código) Assim, uma abordagem ligeiramente melhor seria para entrar nesta linha.:

cout lt; lt; Addup (MyNumbers, sizeof (MyNumbers) / sizeof (int)) lt; lt; endl-

Agora esta linha de código funciona, e aqui está o porquê: O tamanho de a matriz dividida pela tamanho de cada elemento na matriz dá o número de elementos na matriz.


Publicações relacionadas