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]