Relacao Professor Aluno Rubem Alves

Columbia University - Bom pessoal, hoje vamos entrar em um novo tópico da linguagem C que é ponteiros Muitos programadores costumam ter dificuldade com essa parte da linguagem Começar com variáveis, Todos os programas que já resolvemos usaram variáveis do tipo Int, float, double, char, struct, etc Usávamos eles para armazenarmos dados, guardávamos um número inteiro ou real ou uma palavra ou uma estrutura Com os ponteiros eu não vou mais usar uma variável para guardar um dado É um tipo especial de variável que armazena endereços de memória de alguma coisa que é por exemplo outra variável. Ao invés de guardar dados (números, palavras, etc.) vou guardar endereços de memória. Vamos ver mais sobre isso A forma geral da declaração de uma variável é sempre o tipo depois o nome da varável Então int x estou declarando uma variável x do tipo inteiro Declarar um ponteiro é quase igual: o tipo do ponteiro depois (*) e o nome do ponteiro Int *x é um ponteiro chamado x pro tipo inteiro A única diferença da variável inteira para o ponteiro inteiro é colocar um (*) na frente do nome Eu posso misturar declarações, aqui eu declarei primeiro uma variável x e depois um ponteiro y Combinei em uma única declaração int Declarar um ponteiro não tem segredo Vamos começar a trabalhar com os ponteiros. Primeira coisa é inicializar esse ponteiro Lembra quando a gente criava uma variável? Quando queríamos imprimir essa varável Logo de cara poderia imprimir um lixo de memória Quando você cria uma variável, você tem lá a memória, eu crio uma variável X por exemplo Ela tem qualquer coisa, um valor inicial que estava na memória guardada Pegamos uma posição que não estava sendo utilizada, ela tinha um valor e X passa a receber esse valor Quando declaramos um ponteiro, acontece a mesma coisa Quando declaramos um ponteiro, acontece a mesma coisa Quando declaro um ponteiro, ele tem uma posição de memória e ele vale qualquer coisa Eu tenho o mesmo problema, eu não posso utilizar esse ponteiro antes de inicia-lo Como fazer isso? Eu posso inicializar ele com a palavra NULL Isso é valor dentro da linguagem que diz que meu ponteiro P aponta para uma região da memoria que não existe Em vez de o P apontar para outra posição como essa A por exemplo, ele aponta para um lugar que não esta na memoria Vou chamar esse lugar de NULL Essa é a primeira forma de inicializar um ponteiro, que significa que ele não tem um endereço valido A outra maneira é pegar o endereço de alguém que está na memoria Eu declarei uma variável x com valor 10, criei um ponteiro Fiz essa operação p=&x De novo na memória, tenho várias posições, vou dizer que essa é a posição #12 E nessa posição eu tenho meu valor x = 10 Quando eu fiz essa operação estou dizendo que meu *p que está na posição #15 por exemplo, vai receber a posição #12 Ele recebeu o valor de onde x está na memória. Pegando esse trecho do código vocês vão ver que o primeiro printf vai imprimir x =10 O segundo vai imprimir o endereço de x que é um valor número qualquer E o terceiro vai imprimir o mesmo valor de &x Simplesmente peguei o valor que o x está armazenado na memória e guardei no p Essa é a segunda forma de se inicializar um ponteiro Agora eu posso acessar o conteúdo do ponteiro de forma direta Novamente eu tenho meu *p com o endereço de memória de x Imprimi x, depois imprimi endereço p e depois imprimo *p O operador (*) quando é usado com ponteiro, eu posso usar para declarar um ponteiro Ou para acessar o conteúdo de um ponteiro P vale #12 (endereço de X), quando digo *p, estou dizendo para pegar esse endereço ir lá dentro e pegar o valor guardado Então no printf vou imprimir o valor 10, que é o valor guardado dentro do endereço guardado em P Simplesmente P está apontando para X=10 Dizendo *p eu digo, pega o conteúdo de onde p está apontando O operador (*) além de permitir pegar o valor de onde está apontando, também permite modificar esse valor Eu sei onde o conteúdo está, eu posso ler, mas também eu posso escrever lá dentro do endereço Quando eu digo *p =12, estou dizendo para pegar o endereço para onde p aponta *p está apontando para essa posição, acesso o valor que está dentro e no lugar dele vou colocar 12 Primeiro vou imprimir x=10 *p eu mudei para 12 então depois vou imprimir 12 Quando eu for imprimir o x de novo eu vou imprimir 12 novamente, pois eu usei o *p, modificando o valor dentro do endereço. O ponteiro permite que eu modifique o valor de outra variável de forma indireta Em nenhum momento eu mexi com X, mexi com alguém (P) que sabia onde X estava na memoria Essa é a ideia de ponteiro, vamos continuar esse tópico nas próximas aulas É confuso mas vai melhorar, tchau pessoal.

Relacao professor aluno rubem alves clinicas exames de cardiologia salvador Guarulhos decorar festa infantil com pouco dinheiro. Santa Rita curso de bolo em campo grande ms Resumo, apresentacao marketing esportivo Resenha, laboratorio exame riacho fundo Plano de negócios, materias do curso de artes visuais Outros tipos. Cpc artigo 198 pet exame preco relacao professor aluno rubem alves Valparaíso de Goiás exemplo de apresentacao de uma empresa em powerpoint. Ielts exam material pdf Textos criativos Almirante Tamandaré ufpe caruaru novos cursos, loja de artigos catolicos em ribeirao preto.

Simões Filho:

Owen Scott, Monroe: SUNY Learning Network. Pará: CUNY School of Law; 2006.

Frank Noble, Livingston. Alagoinhas: LaGuardia Community College; 2010.

Rebecca Luna, Centre Street zip 10007. Igarassu: New York Theological Seminary; 2005.

inserted by FC2 system