Programar em C - Ponteiros / Vetores / Funções - Aula 73

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

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

  • @Music7Tony
    @Music7Tony 4 ปีที่แล้ว +7

    Parabéns pelo conteúdo. Excelente didática. 7 anos depois e ainda é um conteúdo muito válido

  • @DeAlunoParaAluno
    @DeAlunoParaAluno  11 ปีที่แล้ว +5

    Opa.. dá uma olhada na aula 68, acho que pode te ajudar.
    Eu ainda não falei sobre alocação dinâmica mas está nos planos para aulas futuras.

  • @DeAlunoParaAluno
    @DeAlunoParaAluno  11 ปีที่แล้ว +3

    o modificador const não permite que o valor de uma variável ou ponteiro seja alterado.
    const -> constant -> constante
    const int X = 10
    No caso acima a variável X assumirá o valor 10. Caso você tente alterar o valor da variável X um erro ocorrerá

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

    Finalmente entendi!! Brabo dms! Vlw, professor!

  • @alitonoliveira1700
    @alitonoliveira1700 7 ปีที่แล้ว +25

    8:48 Vamos dar um "executar" e se deus quiser, vai dar tudo certo aqui.
    kkkkkkkkk

    • @tarciana9303
      @tarciana9303 7 ปีที่แล้ว +2

      eu ri de nervoso nessa parte

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

    Blz, vou dar uma procurada la.
    Merece os elogios, e ganhou mais um inscrito, já sei aonde estudar para prova e aprender coisas novas, hehe.
    Valeu mesmo.
    Abraz

  • @patricksouza1607
    @patricksouza1607 6 ปีที่แล้ว +2

    Finalmente consegui entender ponteiros.
    Otima aula!

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

    tem sim cara..
    eu não consigo postar links aqui nos comentários..faz assim
    ali na página principal do canal do em baixo da escrita do nome do canal tem uma lupa.. clica nela e vai te dar a opção de pesquisar.. só jogar vetor ali.
    tem uma série de 10 vídeos sobre vetores... inicia na aula 22 se não me engano.
    se não conseguir achar me dá um toque.
    Flws e obrigado pelo elogio! ;)

  • @Fernando-oj7sc
    @Fernando-oj7sc 10 ปีที่แล้ว

    Direto ao ponto, sem comentarios !!!

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

    Você é muito bom como professor!

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

    Muito bom, excelente didática.

  • @analuisacrodrigues
    @analuisacrodrigues 10 ปีที่แล้ว +18

    tenho uma duvida: o valor de n nao deveria ser 9? porque um vetor de 10 posiçoes vai de 0 a 9, entao se voce fala que o o final vetor e o vetor+n, ele esta apontando para a posiçao 10, que nao existe.

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

      Ele teria que usar

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

    salvou minha prova final :D

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

    Você tem alguma vídeo aula de Lista Encadeada/Alocação Dinâmica? Estou estudando estrutura de dados na Faculdade e estou usando structs com ponteiros que guardam a posição do elemento anterior (ou do próximo não me lembro), estou usando malloc pra fazer o procedimento de alocação de memória. Se puder me indicar alguma, agradeço. Obrigado pela atenção!

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

    Professor, de uma forma bem resumida a minha duvida, não entendi o comando "const"
    Poderia dizer a definição dele e pq o Sr. utilizou? Qual seria a diferença se não tivesse utilizado?

  • @woongillezcano6807
    @woongillezcano6807 5 ปีที่แล้ว

    Abriu minha cabeça mas ate q enfim entrou.

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

    Estou com a mesma dúvida da Ana Luisa Carvalho. Vi que ainda não foi respondido, então, vou refazê-la: Se o vetor possui 10 posições (5, 5, 5, 5, 5, 5, 5, 5, 5, 5,) entendo que a última posição não seria 'vetor + n', mas sim 'vetor + (n-1)'. Neste caso o código funcionou mesmo apontando para uma posição inexistente no vetor?

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

      Humm ... acho que entendi porque deu certo ... foi utilizado o sinal de "estritamente menor", o que permite que o ciclo "for" trabalhe do vetor[0] a vetor [9].

    • @comentariodaofensa9582
      @comentariodaofensa9582 6 ปีที่แล้ว +4

      sei que faz um tempo, mas ele está acessando o endereço de memoria, e não o valor. Por isso msm n existindo o vetor[10] ele está fazendo uma comparação com o endereço de memoria que vem depois do vetor[9]. Logo, se o endereço do vetor 9 fosse 1000 por exemplo, o do vetor[10] teoricamente seria 1004. Então enquanto o endereco do vetor < 1004 faça o loop

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

    Primeiro, parabéns pela vídeo aula, muito boa.
    Você poderia me ajudar em uma coisa? Preciso criar um vetor de 100 posições, e ele precisa "auto preencher" sendo que comece com 1 e vá até 100, essa sequencia precisa ser "impressa", consegui fazer isso usando um for com uma variável, mas não estou conseguindo com um vetor, esta imprimindo valores absurdos.
    Tem alguma aula que eu possa ver que fale sobre isso?
    Muito obrigado

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

    muito bom.

  • @victorlima4597
    @victorlima4597 9 ปีที่แล้ว +3

    Por que você declara esse protótipo de função dentro da main ? Se a função já foi criada fora da main, poderíamos chama-la dentro da main sem nenhum problema. Geralmente eu faço assim:
    int função(); // protótipo
    int main()
    {
    }
    int função()
    {
    corpo da função.
    }

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

    Crie um programa que contenha um vetor de 10 elementos do tipo int e, também, uma variável ponteiro para int.
    O programa deverá ler os valores do vetor e exibir esses valores na tela de saída do programa. Mas para isso mostrar os valores, é necessário utilizar o ponteiro que foi criado. É através dele e de um loop que os valores devem ser exibidos.COMO E ESSE LOOP?

  • @mellomiguel
    @mellomiguel 9 ปีที่แล้ว +2

    Nessa aula observei a seguinte linha de código:
    int *const finalVetor = vetor + n;
    Seria equivalente escrever essa linha da maneira abaixo?
    int const *finalVetor = vetor + n;
    Eu testei nessa aula as duas maneiras e pelo menos não percebi nenhuma diferença.

  • @samequepravato3739
    @samequepravato3739 5 ปีที่แล้ว

    Uma dúvida: ponteiros podem ser utilizados em quase todas os casos? Quando alteramos o valor da variável alteramos o seu endereço de memória? Quem souber e poder me ajudar.

    • @santatartaruga4051
      @santatartaruga4051 4 ปีที่แล้ว +1

      Não. Valor é valor. Endereço é endereço. Se vc altera o valor do ponteiro (*ponteiro), você está alterando na verdade o valor da variável para o qual ele aponta.

  • @renidantas127
    @renidantas127 5 ปีที่แล้ว

    Tentei implementar o mesmo algoritmo com while e para buscar um valor ao mesmo tempo. (Acho eu que funcionou, haha)
    #include
    int somaVetor(int vetor[], const int n, const int p) {
    int soma = 0;
    int *const finalVetor = vetor + n;
    int *ponteiro = vetor;
    while (ponteiro < finalVetor) {
    if (*ponteiro == p) {
    printf("Encontrado o valor %d no endereco %p
    ", *ponteiro, ponteiro);
    }
    soma += *ponteiro;
    ++ponteiro;
    }
    return soma;
    }
    int main (void) {
    int somaVetor(int vetor[], const int n, const int p);
    int vetor[10] = {5, 5, 5, 5, 5, 5, 5, 3, 5, 5};
    printf("Soma = %d
    ", somaVetor(vetor, 10, 3));
    return 0;
    }

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

    Olá professor, tudo bem? Estou estudando para um concurso, e eu não consigo entender a lógica de utilização de ponteiros nesse programa que caiu na prova:
    int main() {
    int vetor [ ] [3] = {1,2,3,4,5,6,7,8,9,10,11,12};
    int valor = *(vetor[1]+1)+**(vetor+3);
    printf("%d", valor);
    }
    Se puder me ajudar, agradeço bastante.

  • @Adestudos
    @Adestudos 6 หลายเดือนก่อน

  • @Dr_Neo_Cortex.uka_uka
    @Dr_Neo_Cortex.uka_uka 8 ปีที่แล้ว

    Não intendo porque tem que declarar a função dentro do int main()

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

    Qual a diferença de usar vetor c ponteiro na função e de não usar? Vetor normal na função funciona também ué.