Como usar matrizes e funções juntos em c programação
Video: Programar em C - Funções que Recebem Matrizes como Argumento - Aula 37
Conteúdo
Na programação C, criando uma matriz para uso dentro de uma função funciona apenas como criação de uma matriz para uso dentro da função main (): A matriz é declarada, é inicializado, e seus elementos são usados. Também pode passar matrizes para e a partir de funções, onde os elementos da matriz podem ser acedidos ou manipulados.
Como passar uma matriz para uma função
O envio de uma variedade off para uma função é bastante simples. A função deve ser um protótipo com a matriz especificado como um dos argumentos. Parece que este:
vazios whatever (nums int []) -
Esta declaração protótipos a função whatever (). Essa função aceita os nums matriz de inteiros como seu argumento. toda a matriz - cada elemento - é passado para a função, onde ele está disponível para diversão e brincadeira.
Quando você chamar uma função com uma matriz como um argumento, você deve omitir os colchetes:
o que quer que (valores) -
Na linha anterior, qualquer que seja a função () é chamado utilizando os valores da matriz como um argumento. Se você mantiver os colchetes, o compilador pressupõe que significava apenas para passar um único elemento e que você se esqueceu de especificar qual. Então isso é bom:
quaisquer valores ([6]) -
Mas isso não é bom:
whatever (valores []) -
O código mostrado na Mr. Função, Meet Mr. array possui a função showarray () que come uma matriz como um argumento. É uma função vazio, para que ele não retorna nenhum valor, mas pode manipular o array.
SR. FUNÇÃO, ENCONTRAM MR. ARRAY
incluem TAMANHO #define 5void (matriz int []) showarray - int main () {int N [] = {1, 2, 3, 5, 7} -puts ("Aqui está a sua matriz:") -showarray (n) -Retornar (0) -} showarray vazio (matriz int []) {int x-para (x = 0 x-
A função showarray () é chamado na Linha 12. Veja como a matriz n é passado sem seus colchetes? Lembre-se que o formato!
Na linha 16, a função showarray () é declarada com a matriz especificada usando colchetes, assim como o protótipo na Linha 5. Dentro da função, a matriz é acessado exatamente como ele seria na função main (), que você pode veja na Linha 21.
Exercício 1: Digite o código-fonte do Mr. Função, Meet Mr. matriz em seu editor. Criar e executar o programa para garantir que ele funciona.
exercício 2: Adicionar uma segunda função, arrayinc (), ao código-fonte do Exercício 1. Torná-lo uma função void. A função recebe um array como argumento. A função adiciona um para cada valor na matriz. Ter o main () chamada de função arrayinc () com array n como seu argumento. Em seguida, chamar o showarray () uma segunda vez para exibir os valores modificados na matriz.
Como retornar um array de uma função
Além de ser passada uma matriz, uma função em C pode retornar uma matriz. O problema é que matrizes podem ser devolvido apenas como ponteiros. Mas isso não é a pior parte:
A verdade escandaloso é que C não tem matrizes - que eles são apenas inteligente ponteiros disfarçada. notação de matriz tem o seu lugar, mas os ponteiros são onde a ação está.