Linguagem C | Aula 55 - Ponteiros: Conceitos

แชร์
ฝัง
  • เผยแพร่เมื่อ 6 ม.ค. 2025

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

  • @drielifreitas
    @drielifreitas 3 ปีที่แล้ว +6

    Mais de um ano sem entender esse conteúdo, e só com essa aula maravilhosa que parece q foi feita pra um acéfalo entender, que finalmente compreendi o que é ponteiro. Salvou minha vida demais!

  • @robertowagnerdacosta2508
    @robertowagnerdacosta2508 5 ปีที่แล้ว +9

    Me indicaram como "O melhor professor de C" e É MESMO! Mto boa a aula.!!!

  • @caioatallah2803
    @caioatallah2803 5 ปีที่แล้ว +7

    Desde 2012 até hoje , melhores explicaçoes basicas da linguagem c do youtube!

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

      Muito bom mesmo, né cara ! Melhor que muito curso estrangeiro de universidade famosa.

  • @niltoncs7739
    @niltoncs7739 6 ปีที่แล้ว +5

    Excelente. Sensacional. Ótima explicação. Simplificou o complexo. Esse dom é para poucos. Parabéns professor.

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

    Valeu André, sua didática é muito boa, clara para pessoas que estão iniciando nesse mundo...obrigado.

  • @progdescomplicada
    @progdescomplicada  12 ปีที่แล้ว +6

    O valor dos dois é o mesmo, só muda o sistema numérico:
    %p = valor em hexadecimal
    %d = valor em decimal
    Usamos o decimal por ser mais fácil de entender, apesar de não ser o melhor para representar endereços.

  • @davidswins
    @davidswins 9 ปีที่แล้ว +11

    Mito ! Excelente, ótima aula . O cara sabe ! Obrigado .

  • @brunolimalins2104
    @brunolimalins2104 10 ปีที่แล้ว +5

    o unico prof q eu consegui entender esse conceito muito obrigado msm!!

  • @GabrielAndrade-yh9zs
    @GabrielAndrade-yh9zs 5 หลายเดือนก่อน

    Ótima didática e excelente conteúdo! Obrigado 👍👏
    Vim pelo professor Leandro 😃

  • @PhelipeGuedes
    @PhelipeGuedes 9 ปีที่แล้ว +8

    Sua explicação é excelente. Parabéns.

  • @gabrieloliveira8955
    @gabrieloliveira8955 ปีที่แล้ว

    Simples e objetivo. Adoro seus vídeos professor.

  • @Guibasun
    @Guibasun 8 ปีที่แล้ว +7

    Perfeito professor,
    Parabéns.

  • @jedygabriel
    @jedygabriel 11 ปีที่แล้ว +2

    Parabens Backes! MUITO Melhor q os outros prof da FACOM aki da ufu q eu n entendo nada na aul cof cof kkkkkkk

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

    Excelente trabalho, professor, vc explica muito bem!!! Assim fica fácil de entender até os tópicos mais trabalhosos.... Obrigado!!

  • @tallesbrendo3771
    @tallesbrendo3771 9 ปีที่แล้ว +7

    Aulas ótimas,
    Você explica muito bem !

  • @brenocastro2431
    @brenocastro2431 2 ปีที่แล้ว

    Horas de leitura e vídeo aulas tentando entender esse troço de ponteiro, foi aqui que eu recuperei as esperanças, obrigado professor

  • @gabrielaflorencio9907
    @gabrielaflorencio9907 3 ปีที่แล้ว

    Claro como água. Muito obrigada, professor!

  • @marcustadeu2046
    @marcustadeu2046 9 ปีที่แล้ว +6

    Parabéns, suas aulas são ótimas.

  • @ComédiaCortes-u2t
    @ComédiaCortes-u2t 3 หลายเดือนก่อน

    Que aula sensacional , Parabéns professor !!!

  • @queencarolas
    @queencarolas 3 ปีที่แล้ว

    Aula salvando a disciplina de Estrutura de Dados, como sempre. Muito obrigada!

  • @mayrinhadaher23
    @mayrinhadaher23 2 ปีที่แล้ว

    Finalmente consegui entender ponteiros! Obrigada!!!

  • @armandoski-g
    @armandoski-g 5 ปีที่แล้ว +1

    Explicação clara e simples, parabéns!

  • @videos12344444444
    @videos12344444444 6 ปีที่แล้ว +8

    A melhor forma de entender ponteiros (e praticamente qualquer conceito de programação que quiser) é simples:
    USE O DEBUGGER e o visualizador de memória !!
    Desta forma, você poderá visualizar EXATAMENTE o que ele está querendo dizer.
    Ex:
    int x= 10;
    int *p;
    p = &x;
    Se você carrega no debugger, vai notar que o programa já tem as variáveis na memória ANTES do debugger iniciar (ele ainda vai passar a linha de x, mas p e x JÁ EXISTEM NA MEMÓRIA).
    Veja o que aconteceu aqui no meu debugger:
    "Inicio:"
    ( endereço de x= 0x22ff18 ... valor de x = 0x64 ou 40 decimal
    endereço de p= 0x22ff1c ... valor de p = 0x2 ou 2 decimal)
    "int x = 10;"
    ( endereço de x= 0x22ff18 ... valor de x = 0x10 ou 10 decimal
    endereço de p= 0x22ff1c ... valor de p = 0x2 ou 2 decimal)
    "int *p;"
    ( endereço de x= 0x22ff18 ... valor de x = 0x10 ou 10 decimal
    endereço de p= 0x22ff1c ... valor de p = 0x2 ou 2 decimal)
    Aqui nada muda, simplesmente o * serve para avisar ao compilador que, quando for buscar algo na variável p, interprete o valor de p como um ENDEREÇ0, e não como um valor.
    "p = &x;"
    ( endereço de x= 0x22ff18 ... valor de x = 0x10 ou 10 decimal
    endereço de p= 0x22ff1c ... valor de p = 0x22ff18 ou 10 decimal
    *p = 10 decimal ).
    Então, o endereço de p tem um valor 0x22ff18, mas como o compilador recebeu a informação que a variável p tem que ser tratada como um endereço, então, esse valor é um novo endereço que o compilador vai buscar... no caso, é o endereço da variável x, e neste endereço, existe o valor 10 decimal (na memória é assim: 10 00 00 00).
    Procurem entender as coisas pelo debugger e pela memória, parece complicado, mas é MUITO mais simples, porque você não vai depender só da explicação do professor, você vai ENTENDER como realmente o compilador está fazendo a nível de memória !!

    • @brunoteles3040
      @brunoteles3040 2 ปีที่แล้ว

      Como você utiliza o Debug no C?

  • @Mrrezende
    @Mrrezende 10 ปีที่แล้ว +5

    Muito bom professor, obrigado! !!!!!

  • @jogossupernintendo
    @jogossupernintendo 8 ปีที่แล้ว +2

    parabéns amei suas aulas me ajudaram muito

  • @RodrigoAra
    @RodrigoAra 2 ปีที่แล้ว

    Obrigado pelos esclarecimentos.

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

    Mais um ótimo vídeo! Obrigado!

  • @DihCpsPsy
    @DihCpsPsy 6 ปีที่แล้ว +1

    Excelente aula!!!!

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

    Muito bom!

  • @felixnoviolence
    @felixnoviolence 12 ปีที่แล้ว

    muito obrigado tirou minha dúvida

  • @Leoalves.044
    @Leoalves.044 2 หลายเดือนก่อน

    Essa música do super Mario do Nintendo 64 quebrou kkk ficou bom na introdução

  • @cachosdeouro-dhe7232
    @cachosdeouro-dhe7232 10 ปีที่แล้ว +1

    me ajudaa:
    Faça um programa usando ponteiros para ordenar 3 valores e mostral ordenado na tela

  • @ed4218
    @ed4218 6 ปีที่แล้ว +1

    Otimos videos professor, está ajudando muito.
    Eu só queria dizer que quando você diz que o endereço NULL não existe NÃO É VERDADE, esse é o primeiro endereço de memoria, o endereço 0 (zero), e quando você coloca seu ponteiro pra NULL você simplismente está apontando nesse endereço, e o sistema operacional está programado para nunca armazenar nada nesse endereço.

  • @brunovideira7
    @brunovideira7 11 ปีที่แล้ว +1

    Vendo essa aula eu fiquei em dúvida da utilidade disso. Ai eu lembrei, serve para passar por referência não é isso? Acho que esta aula tinha que ser antes da de referência. Li que também é útil em struct. De qualquer forma as aulas são excelentes.

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

    Me salvouu

  • @videos12344444444
    @videos12344444444 6 ปีที่แล้ว

    8:29... Você diz que em momento nenhum mexeu com x, mas mexeu sim. (eu entendi o q vc disse, mas essa fala ficou meio confusa).

    • @mayconcustodio5068
      @mayconcustodio5068 5 ปีที่แล้ว +2

      isso, na verdade ele substituiu o valor no endereço da memória que estava o "X" , sendo assim mudando o valor de "X" na memoria sem mexer no código que declara o valor de "X".

  • @felixnoviolence
    @felixnoviolence 12 ปีที่แล้ว +1

    Professor como sempre suas aulas são muito boas e de grande ajuda, mas estou com uma pequena dúvida.
    O comando para exibir o endereço para onde o ponteiro esta apontando não seri esse aqui:
    printf("p=%p
    ",p);
    Pois quando coloco
    printf("p=%d
    ",p);
    aparecem apenas números.
    Desde já muito obrigado.

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

      SIm, isso mesmo, deve ser apenas uma distração na hora de escrever o código e mostrar no projetor. O seu está aparecendo número provavelmente porque está usando Dev++, a ide que to usando dá erro, nem compila o código com placeholder de integer (%d) e variável pointer (p) como esse "printf("p=%d
      ",p); ".

  • @felixnoviolence
    @felixnoviolence 12 ปีที่แล้ว

    Esse comando da o seguinte resutado
    printf("p=%p
    ",p); (((p=0022FF24)))
    Agora esse aqui da um resultado diferente
    printf("p=%d
    ",p); (((p=2293540)))

  • @progdescomplicada
    @progdescomplicada  12 ปีที่แล้ว +24

    O valor dos dois é o mesmo, só muda o sistema numérico:
    %p = valor em hexadecimal
    %d = valor em decimal
    Usamos o decimal por ser mais fácil de entender, apesar de não ser o melhor para representar endereços.