Curso de Programação em C/C++ - Aula 15 - Passagem por referência

แชร์
ฝัง
  • เผยแพร่เมื่อ 18 ธ.ค. 2024

ความคิดเห็น • 34

  • @lucasg8455
    @lucasg8455 5 ปีที่แล้ว +1

    sensacional a simplicidade com que entendi sua explicação. parabéns! ja tinha visto esse assunto e não tinha entendido

  • @srporo2071
    @srporo2071 9 ปีที่แล้ว +1

    Tô amando as aulas, você é demais, professor!

  • @Mobullbo
    @Mobullbo 10 ปีที่แล้ว

    Cara você é foda,explica melhor que meu professor da faculdade de Estrutura de Dados,me salvou de muitas dúvidas que tinha sobre essa matéria,um amigo me indicou seu canal,e de fato você é ótimo!. Valeu.

  • @yagopz01
    @yagopz01 9 ปีที่แล้ว +1

    Melhor professor do TH-cam.. Parabens ai Gilberto!

  • @matheusmachado1456
    @matheusmachado1456 10 ปีที่แล้ว +2

    Fiz questão de logar no TH-cam só pra clicar em Gostei! Valeu.

  • @hosiasjunior6207
    @hosiasjunior6207 8 ปีที่แล้ว

    parabéns, vc é um ótimo professor
    obrigado pelos seus vídeos

  • @taneiprill1602
    @taneiprill1602 11 ปีที่แล้ว +8

    Em c tambem tem como trocar os valores tal como voce feis, mas um pouco diferente,
    void setVar(int *x, int *y) {
    *x = 10;
    *y = 10;
    }
    int main() {
    int a = 20, b = 20;
    printf("A=%i | B=%i
    ", a, b);
    setVar(&a, &b);
    printf("A=%i | B=%i
    ", a, b);
    return 0;
    }

  • @Mocreio-l2f
    @Mocreio-l2f 6 ปีที่แล้ว +1

    Duvida! Porque vc usou a sintaxe em C? visto que Passagem por referencia não existe em C? e nesse video estamos se tratando de c++?
    printf " A=%d | B=%d",a,b)

  • @duda7462
    @duda7462 9 ปีที่แล้ว

    SUAS AULAS TEM SIDO MUITO ÚTIL AO MEU APRENDIZADO; E GOSTARIA DE LHE PEDIR; SE POSSÍVEL; PARA QUE VOCÊ DISPONIBILIZE UMA NOVA AULA DE EXPLICAÇÃO SOBRE PASSAGEM POR REFERÊNCIA; POIS FIQUEI MUITO CONFUSO; COM ESTA AULA. DESDE JÁ MUITO OBRIGADO E PARABÉNS POR SEU TRABALHO.

  • @tibiroca7422
    @tibiroca7422 10 ปีที่แล้ว +1

    prefiro usar using namespace std; para usar cout>.

  • @McLipinhoTv
    @McLipinhoTv 10 ปีที่แล้ว +1

    Sim, me diga uma coisa, utilizando ponteiros, não dá pra fazer isso(passagem por referência) no C ?

  • @thaisalmeida1003
    @thaisalmeida1003 10 ปีที่แล้ว +3

    Por que não usou a biblioteca iostream já que estava fazendo o processo em c++?

    • @mateussarmento2902
      @mateussarmento2902 10 ปีที่แล้ว +1

      Tu consegue fazer qualquer coisa de c em c++. Ele não escreveu iostream porque não usou nenhum recurso dessa biblioteca.

  • @motaaaa
    @motaaaa 7 ปีที่แล้ว +1

    C não tem isso mas tem ponteiros, que dá no mesmo, só passar o endereço da variavel usando "&" e dentro da função usar como ponteiro

  • @luciadasilva4564
    @luciadasilva4564 8 ปีที่แล้ว

    Me responde, na passagem por valor, a variável de main altera o valor da variável da função chamada atribuindo seu valor a ela, e na passagem por referência a variável main recebe o valor da variável da da função chamada?.

  • @thaynnachaves3847
    @thaynnachaves3847 11 ปีที่แล้ว

    Quando sai mais?

  • @rodrigoboy7919
    @rodrigoboy7919 8 ปีที่แล้ว

    No lugar do printf , eu quero usar cin e cout ! como eu faço?

  • @jefersonsouza7361
    @jefersonsouza7361 7 ปีที่แล้ว

    muito bom!!!! Obrigado.

  • @robsonwesller2
    @robsonwesller2 11 ปีที่แล้ว

    Porque não utilizou a biblioteca de fluxo iostream ao invés da stdlib.h e stdio.h? A stdlib.h e a stdio.h não são do C? Não são para o uso do printf e do scanf?

    • @mateussarmento2902
      @mateussarmento2902 10 ปีที่แล้ว

      Tu consegue fazer qualquer coisa de c em c++. Ele não escreveu iostream porque não usou nenhum recurso dessa biblioteca.

  • @anaalicebatistadeholanda3695
    @anaalicebatistadeholanda3695 10 ปีที่แล้ว

    pq vc n usa o cout e o cin?????

    • @tibiroca7422
      @tibiroca7422 10 ปีที่แล้ว +1

      ele teria que incluir a biblioteca #include
      #include
      using namespace std;
      nao sei pq ele nao fez isso. eu tambem acho muito mais simples. não sei se ele tem motivos para não incluir essas bibliotecas e comando.

  • @luciadasilva4564
    @luciadasilva4564 8 ปีที่แล้ว +1

    Imagine um salão, tem lá duas pessoas A e B, e nesse salão há um escritório e dentro dele temos gerente X e o presidente y e a porta está fechada, A e B não conseguem ver oque há dentro do "escritório", então X e Y abrem a janela deste comodo usando o operador de endereços(&x, &y) ficando assim: void escritório(conteúdo gerente,conteúdo do presidente) para que A e B possam ver oque ha dentro do comodo. Ao chegar na janela aberta pelo operador &, a pessoa A e a pessoa B conseguem observar o valor que X e Y possuem, e se apropriam dessa informação que é o conteúdo do gerente e do presidente. E assim houve a alteração nos valores armazenados por X e Y com os valores que antes eram somente de A e B. (((((((((((((((((((((((((Se eu entendi errado me digam onde não entendi, estou aprendendo.

  • @oorial
    @oorial 4 ปีที่แล้ว

    Fiquei triste, queria aprender C primeiro e dps C++ :(

  • @danielfabriciofreita
    @danielfabriciofreita 10 ปีที่แล้ว +6

    Na verdade para da passar por referência em C, mais é mais complicado, ficaria assim:
    #include
    #include
    void altera (int *x, int *y){
    *x =5;
    *y = 20;
    }
    int main(int argc, char** argv) {
    int a, b;
    a =1;
    b = 200;
    altera(&a,&b);
    printf("A = %d, B = %d",a,b);
    return (EXIT_SUCCESS);
    }

    • @gilbertotoledo
      @gilbertotoledo  10 ปีที่แล้ว +4

      Daniel Fabrício Freitas Bom dia! Isso não é passagem por referência. Você está usando ponteiros para simular uma passagem por referência. Funciona, mas são coisas diferentes.

    • @matheus-almeida
      @matheus-almeida 9 ปีที่แล้ว +2

      +G- Tech pelo pouco que eu sei utilizando ponteiros faz passagem por referencia, o google que o diga.

    • @jonasrufino7823
      @jonasrufino7823 8 ปีที่แล้ว

      +G- Tech a função scanf usa passagem por referencia

    • @ViictoRStormHD
      @ViictoRStormHD 8 ปีที่แล้ว

      Os parâmetros que foram recebidos na função são ponteiros. Pelo procedimento, primeiramente você declara as variáveis com os seus valores, até aí normal. Porém, no momento da chamada da função, tudo indica que o x e y apontam para o endereço de memória de a e b respectivamente, então é realmente uma passagem por referência. A partir do endereço que eles apontam, podemos trocar os valores de a e b em qualquer lugar no nosso código, mesmo que o ambiente de execução seja destruída depois de executar a função. Os valores ficam armazenados na memória, já trocados, antes de serem destruídos.

    • @ViictoRStormHD
      @ViictoRStormHD 8 ปีที่แล้ว

      E assim torna possível essa troca dos valores nos parâmetros da função indiretamente.

  • @adirianoag
    @adirianoag 8 ปีที่แล้ว

    Gostei dessa aula assim como de todas as suas aulas.
    Só tenho um observação a fazer: Você disse que em C nós não temos passagens de parâmetros por referência. Isso não é verdade. Temos passagem de parâmetro por referência e C. Sei que você sabe disso mas você se enganou a dizer isso.
    Mais uma vez dou meus parabéns pelas suas aulas.