Como declarar função que retorna um vetor em C?

Estou fazendo um programa pra MC102, e como parte da solução, me apareceu a ideia de chamar uma função que precisa retornar um vetor de inteiros.

No caso é um vetor de 2 elementos, v[2]. Como devo declarar a função?

int funcao() {

}

ou

int[2] funcao() {

}
Add Done
    almost 2 years ago André Cesarino said:

    Um vetor de dois índices? Você quer dizer uma matriz, então?

    Please sign in to answer question.

    3
    Helder Ribeiro

    http://umamao.com/questions/Como-declarar-fu...rs/4c8906e079de4f1a200003ae

    almost 2 years ago Rodolfo said:

    Este código está errado. Ao retornar, c será desalocado e as variáveis locais da próxima função chamada sujarão o valor retornado. A solução é utilizar alocação dinâmica ou um vetor global de buffer. No caso da primeira, a função chamadora precisará desalocar a memória, já no caso da segunda alternativa, você só poderá ter uma resposta desta função por vez.

    almost 2 years ago Helder Ribeiro said:

    Nossa, verdade! Isso é mal-costume de linguagem com gerenciamento automático de memória :) Corrigi o código conforme sua sugestão (compilei aqui e rodou, pode ainda ter algum erro :)

    almost 2 years ago Alexandre Kunieda said:

    Hm, de fato tem um errinho xD
    Acho que é malloc(2*sizeof(int)) ali!

    almost 2 years ago Helder Ribeiro said:

    Outro! :) Corrigido!

    almost 2 years ago Helder Ribeiro said:

    @Alexandre a observação do Prof. Rodolfo era sobre a versão anterior do código mas, de fato, sobrou esse erro mesmo :) Corrigido!

    3
    Joe

    http://umamao.com/questions/Como-declarar-fu...rs/4c8906e079de4f1a200003ac

    almost 2 years ago Helder Ribeiro said:

    Quando o vetor que você quer alterar foi passado como parâmetro, aí sim, é só alterar o vetor diretamente dentro do código e não precisa retornar nada. Mas há casos em que você precisa retornar um vetor mesmo sem ter sido passado nenhum como parâmetro.

    almost 2 years ago André Cesarino said:

    Não entendi direito... sei que por padrão C não deixa você alterar variáveis de forma global, o único jeito de contornar isso é passando o endereço da variável na chamada para a função secundária, e na declaração dos parâmetros dessa função secundária declarar um ponteiro para poder alterar os valores na função secundária.

    almost 2 years ago Alexandre Kunieda said:

    Sim Loucura, mas quando passamos o vetor como parâmetro, estamos passando o endereço do começo do espaço alocado para o vetor (v é igual a &v[0]). Então se alteramos os valores do vetor dentro da função, eles são alterados "globalmente" também.

    almost 2 years ago André Cesarino said:

    Sim, foi o que eu disse, mas do seu jeito ficou melhor. =)

    Search results:
    Como declarar função que retorna um vetor em C? - Umamao - Find ...

    umamao.com/questions/Como-declarar-função-que-retorna-um-vetor-em-C

    Estou fazendo um programa pra MC102, e como parte da solução, me apareceu a ideia de chamar uma função que precisa retornar um vetor de inteiros. No caso é um ...

    Como determinar o tamanho do vetor em python - Django Brasil ...

    https://groups.google.com/.../thread/08be713b11c6325d?hl=pt

    caracteres que minha string pode recebe... Como em C. ... >>> type(a) # a função type() retorna o tipo ... Estou criando uma função que gera um arquivo ...

    Fórum Script Brasil > Funçao Que Retorna Um Vetor

    www.scriptbrasil.com.br/forum/lofiversion/index.php/t90580.html

    tenho uma funçao que retorna um vetor com varios valores ... Você pode declarar seu vetor em main(): int vetor ... quando voce passa um vetor como parametro para a função, ele ...

    Programar em C/Vetores - Wikilivros - Wikibooks

    pt.wikibooks.org/wiki/Programar_em_C/Vetores

    Para declarar um vetor chamado vetor, com ... Em C, matrizes são vetores que armazenam vetores. Ou seja, vetor com várias dimensões. ... dissemos que a função main ...

    Marcos Rosendo Dalte: Retornando um vetor através de uma função

    marcosdalte.blogspot.com/2008/04/retornando-um-vetor-em-uma-funo.html

    Parece ser bem fácil, mas visitando alguns fóruns de programação C percebi que várias pessoas tinham essa dúvida, de como retornar mais de um valor ...

    Search results provided by Bing | Keep searching on Bing / Google