Um Exemplo com Arrays
Uma função para calcular a média de três números é muito específica e limitada. Uma função mais geral calcularia a média de qualquer quantidade de números. Isso requer passar os números em um array. Um array é um objeto na memória que contém uma série de valores do mesmo tipo de dado. Este capítulo apresenta os conceitos básicos e o uso de arrays através de um exemplo; para a explicação completa, veja .
Aqui está a definição de uma função para calcular a média de vários números de ponto flutuante, passados como tipo double. O primeiro parâmetro, length, especifica quantos números são passados. O segundo parâmetro, input_data, é um array que contém esses números.
double
avg_of_double (int length, double input_data[])
{
double sum = 0;
int i;
for (i = 0; i < length; i++)
sum = sum + input_data[i];
return sum / length;
}O código anterior introduz a expressão para se referir a um elemento de um array: input_data[i] significa o elemento de índice i no array input_data. O índice do elemento pode ser qualquer expressão com um valor inteiro; neste caso, a expressão é i. Veja .
O menor índice válido em um array é 0, não 1, e o maior índice válido é um a menos que o número de elementos. (Isso é conhecido como indexação com origem zero.)
Este exemplo também introduz a maneira de declarar que um parâmetro de função é um array. Tal declaração é feita após o nome do parâmetro. Assim como double foo declara que foo é do tipo double, double input_data[] declara que cada elemento de input_data é do tipo double. Portanto, input_data em si tem o tipo "array de double".
Ao declarar um parâmetro que é um array, não é necessário dizer qual é o comprimento do array. Neste caso, o parâmetro input_data não tem informação de comprimento. É por isso que a função precisa de outro parâmetro, length, para que o chamador forneça essa informação para a função avg_of_double.
Atualizado
Isto foi útil?