Ponteiros Linguagem C
Algoritmos e Programação
Linguagem C
Ponteiros
Professor Bruno Calegaro - calegaro@inf.ufsm.br
Slides - Giliane Bernardi
Introdução
Ao declararmos uma variável x como a seguir:
int
x = 100;
Temos associados a ela os seguintes elementos:
Um nome (x);
Um endereço de memória ou referência;
Um valor (100).
Introdução
Para acessarmos o
valor do conteúdo da variável (100)? printf(“%d”, x);
Para solicitarmos que o usuário informe um novo valor? scanf(“%d”, &x);
Para acessarmos o
endereço da variável? Operador & printf(“%d”, &x);
Introdução
Exemplo
do
#include
#include
main()
{
int x = 100;
código
(exemplo9_1.c)
// mostra o conteudo de x, no caso, o valor 100 printf("Conteudo de x: %d\n", x);
// mostra o endereco de x printf("Endereco de x: %d\n", &x);
// solicita ao usuário que informe novo valor para x printf("Informe novo x: "); scanf("%d", &x);
// mostra novamente o conteudo de x,
// no caso, o novo valor informado pelo usuario printf("Novo conteudo de x: %d\n", x);
// mostra o endereco de x printf("Endereco de x: %d\n", &x); system("pause"); }
Introdução
E se quisermos armazenar o endereço de x em uma outra variável? Dica: temos o operador &, usado anteriormente;
Introdução
Exemplo
do
código
(exemplo9_2.c)
#include
#include
main()
{
int x = 100; int end_x;
// mostra o conteudo de x, no caso, o valor 100 printf("Conteudo de x: %d\n", x);
// mostra o endereco de x através da variável X printf("Endereco de x: %d\n", &x); end_x = &x;
// mostra o endereco de x através da variável end_X printf("Endereco de x armazenado em end_x:
%d\n", end_x); system("pause"); }
Ponteiros
E se quisermos mostrar o conteúdo de x, a partir de outra variável (sem que esta variável receba explicitamente o valor de x)?
Solução: uso de variáveis do tipo ponteiro;
Ao atribuir o endereço de uma