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.