Ir para conteúdo
Fórum Script Brasil
  • 0

Podem me responder urgente?


Thiago lablonsk

Pergunta

Já programo em C a um tempo. Bom eu sempre usei o return como metodo para retornar valores da função porem ele só me retorna 1 valor. Gostaria de saber outro metodo e podem me dar exemplos?

Tipo

void exemplo(int x)

{

}

Eu não entendi muito bem me parece que o & me envia este valor de volta

void exemplo(int &x)

{

}

e se for um ponteiro? uma struct? E o que acontece na função e como fica no main?

Rs sei que são muitas perguntas e que eu programo diferente e meu professor utiliza isso e quase me reprovou por não fazer igual ele na aula teoria ¬¬'.

Obrigado

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

testa esse exemplo ai e ver o resutado;

#include <stdio.h>

#include <stdlib.h>

int exemplo(int &valor1){

int valor2;

valor1 = 10;

valor2 = 20;

return valor2;

}

int main( ) {

int retorno1, retorno2;

retorno2 = exemplo( retorno1 );

printf ("retorno1: %d retorno2: %d", retorno1, retorno2);

system("pause");

return 0;

}

o operador ( &) que dizer que voce esta acessando diretanente o endereco da variavel. ou seja você não cria uma copia da variavel mas usa ela diretamente.. isso tanbem vale para qualquer tipo de dado...

espero que tenha ficado claro..

qualquer duvida e so perguntar

Editado por henrique.araujo
Link para o comentário
Compartilhar em outros sites

  • 0

<script type='text/javascript'>window.mod_pagespeed_start = Number(new Date());</script>

testa esse exemplo ai e ver o resutado;

#include <stdio.h>
#include <stdlib.h>

int exemplo(int &valor1){
int valor2;
valor1 = 10;
valor2 = 20;
return valor2;
}

int main( ) {
int retorno1, retorno2;
retorno2 = exemplo( retorno1 );
printf ("retorno1: %d retorno2: %d", retorno1, retorno2);

system("pause");
return 0;
}


o operador ( &) que dizer que voce esta acessando diretanente o endereco da variavel. ou seja você não cria uma copia da variavel mas usa ela diretamente.. isso tanbem vale para qualquer tipo de dado...
espero que tenha ficado claro..
qualquer duvida e so perguntar

Obrigado me ajudou, porem em meu codblocks ele não roda em C somente em C++ tudo por causa do & ele não aceita e da um aviso sobre pontos ou ponto e virgula já no C++ funciona tranquilamente.

Link para o comentário
Compartilhar em outros sites

  • 0

Se você está começando a programar e faz de maneira diferente a do professor, então aconselho a prestar mais atenção nas aulas.

O operador '&' (e ponteiro, em geral) é imprescindível nessa linguagem, caso deseje um código limpo, dinâmico e eficiente.

A utilização desse operador, serve para retornar o ponteiro para a variável contida após ele.

Geralmente utilizado quando uma função precisa receber um ponteiro e a variável que precisa ser passada não é.

O código do colega @henrique.araujo está errado, na declaração da função para receber um ponteiro como parâmetro.

Segue corrigido:

#include <stdio.h>
#include <stdlib.h>

int exemplo(int *valor1)
{
    int valor2;

    *valor1 = 10; // O '*' na frente, serve para alcançar o conteúdo referenciado pelo ponteiro.
    valor2 = 20;

    return valor2;
}

int main( )
{
    int retorno1 = 0;
    int retorno2 = 0;

    retorno2 = exemplo( &retorno1 ); // Passa o ponteiro para 'retorno1' como parâmetro

    printf ("retorno1: %d retorno2: %d\n", retorno1, retorno2);

    system("pause");
    return 0;
}
PS: Vale lembrar que é sempre aconselhado iniciar as variáveis com um valor, para evitar que o programa acabe utilizando lixo de memória em seu processamento.
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...