Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

crazygod

Duvida Sobre Apontadores

Mensagens Recomendadas

crazygod

boas

será que alguem me pode ajudar a entender o porque de um pequeno teste que fiz não estar a dar certo??

fiz isto para tentar perceber os apontadores e "o que posso esperar deles"..

o programa é muito simples e é o seguinte:

#include <iostream>
using namespace std;


int main(int argc, char *argv[])
{  
    int a=5, b=2;
        int *t= &a;
    int &r=b;
    
    cout << "Valor de a=" << a << endl;
    cout << "Valor de b=" << b << endl;
    cout << "Valor do apontador de A=" << *t << endl;
    cout << "Valor da referencia de B=" << r << endl;   
    a --;
    *t ++;
    cout << "Valor de a=" << a << endl;         
    cout << "Valor do apontador de A=" << *t << endl;
    system("PAUSE");
    return 0;
}

quando incremento um valor no apontador (t), o resultado que me mostra é um muito estranho :thumbsup:

(estranho para quem nao sabe :))

Obrigado

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Peterv5

Está relacionado com a precedencia dos operadores. O que tu queres provavelmente é (*t)++.

Tall e qual. Ao escrever

*t ++;

O apontador vai apontar para o "pedaço" de memória seguinte ao actual, ao fazer:

(*t) ++;

O apontador vai incementr aquilo que está a apontar. É um questão de sintaxe. Primeiro que está dentro de parenteses é agarrado: (*t), depois é incrementado com o ++.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
crazygod

ok, muito obrigado pelas resposta e pela explicação.

sei que isto é uma das coisas basicas, mas ando numa de autodidata é mais complicado assimilar tudo sem MUITAAAA pratica..

mais uma vez obrigado

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.