Академический Документы
Профессиональный Документы
Культура Документы
PONTEIROS
Sintaxe:
int*p; //leia-se: p é um ponteiro para a variável inteira
float*q; //leia-se: q é um ponteiro para uma variável float
posso ter:
int a;
Operador “*”
*p=7;
a=a*2;
Operador “->”
Esse operador permite discriminar um campo de uma struct apontada por um ponteiro
Ex:
struct Taluno{
string nome;
float nota;
int matricula;
}
.
.
Taluno aluno;
aluno.nome= “Joao”;
aluno.nota= “7.0”;
aluno.matricula= 1234;
.
.
Taluno* pAlu; // pAlu é um ponteiro para uma estrutura Taluno
pAlu= &aluno;
cout << pAlu-> nome;
pAlu -> nota= pAlu -> nota + 0.5;
Sintaxe:
int*p;
p=new int; //aloca espaço para um inteiro e aloca em p o endereço alocado
*P= 37;
Delete p; //desaloca a área apontada por p e retorna essa área para o pool de memória livre
struct Tprodudo{
string nome;
int codigo;
float preco;
}
int main( ){
Tproduto* p;
P= new Tproduto;
cout << “nome:”;
cin >> p->nome;
cout <<”código”:;
cin >>p->código;
cout <<”preco:”;
cin >> p->preco;
cout << p->nome<<” “<< p->”codigo <<”<< p-> preco
}
struct Tpessoa{
string nome;
string endereço;
Tpessoa*Pconjuge;
}
Tpessoa* paux;
paux= new Tpessoa;
paux-> nome= “Jacqueline”;
paux-> endereço= “Rua Itu,2”
paux-> pconjuge= new Tpessoa;
paux-> pconjuge-> nome= “Miguel”;
paux-> pconjuge-> endereço= paux-> endereço;
paux-> pconjuge-> pconjuge= pconjuge= paux;