On Monday 01 October 2001 04:44 pm, [EMAIL PROTECTED] wrote:
> Ola,
> Eu estou com a seguinte duvida em ponteiros em C. =]
> Suponha que eu fa�a o seguinte:
> #include <stdio.h>
>
> int main( int x){
>  int *b;
>
>  x=5;
>  b=&x
>
>  printf("%d  %d  %d",b,*b,&b);
>
>  return(0);
> }
>
> Se eu rodar esse humilde programa ele me retorna-ra:
> ./programa
> 2147482148  5  2147482136
>
> Eu gostaria de saber o q representa cada valor ??
> Na verdade, eu nao consegui entender a diferen�a entre usar so a variavel
> ou *variavel ou &variavel.
> Eu entendi que:
> &variavel    =>  Lugar onde ela esta na memoria
> *variavel    =>  Valor atribuido a ela.
> variavel     =>  Nao fa�o nem ideia.
> Alias, eu to perdidao. Se algum puder fazer um desenho sei la explicando,
> como fica na memoria, sei la! QUalquer ajuda eh bem vinda!
> Obrigado.
Ol�,

Um ponteiro cont�m um ENDERE�O de mem�ria, OK?
Quando voc� declara um ponteiro para um inteiro (int *ponteiro) por exemplo
e um inteiro (int numero=9), vejamos.

ponteiro = &numero:
Serve para atribuir um endere�o de uma vari�vel a um ponteiro.
Leia-se: A vari�vel ponteiro receber� o endere�o da vari�vel n�mero.

variavel_temp = *ponteiro
Para recuperar um valor de uma vari�vel qualquer apontada por ponteiro.
Leia-se: variavel recebe o VALOR armazenado no endere�o contido no ponteiro,
ou seja, recebe o valor da vari�vel a qual o ponteiro APONTA.

[2743242746]----------->[     9    ]
ponteiro                                numero

Logo:
ponteiro = 2743242746      
*ponteiro = 9
&numero= 2743242746
numero = 9

N�o sei se fui claro o bastante.
At� mais.

Alex.


Assinantes em 01/10/2001: 2359
Mensagens recebidas desde 07/01/1999: 134939
Historico e [des]cadastramento: http://linux-br.conectiva.com.br
Assuntos administrativos e problemas com a lista: 
            mailto:[EMAIL PROTECTED]

Responder a