Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

noseDeep

ponteiros e struct.... ansi c

Recommended Posts

opa galera beleza ? então to com um problemasso, com structs ponteiros ..... tipo eu sei ponteiros pra variavel normal sabe manipulação do pontero *(vetor+x)

 

etc so nao sei pra q serve uma struct com pontero e como fazer.... tipo professor deu em aula mas eu perdi essa aula e ninguem da sala soube me explciar alguem rola de uma ajuda ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma "struct" é um tipo de dados heterogeneo, ou seja, possui variáveis do tipo primitivo ou mesmo outras structs dentro dela.

 

O ponteiro é uma variável que armazena o endereço de memoria de alguma coisa.

 

"Alguma coisa" pode ser: um inteiro, uma string, uma struct, etc.

 

Exemplo prático:

 

Precisamos fazer uma lista encadeada simples para controlar processos do SO, de forma que o processo será executado em fila, ou seja, o primeiro que chega é o primeiro a ser executado.

 

Precisamos do número do processo e de algum ponteiro que indique quem será o próximo.

 

struct processo{
   int numero;
   struct processo *prox;
};

 

O ponteiro prox é do tipo struct processo.

Ele guardará o endereço de memoria alocado para esse tipo de dado.

 

 

Obs: esse é um exemplo simples, longe da realidade de controle de processos do sistema operacional.

Compartilhar este post


Link para o post
Compartilhar em outros sites

deu pra te uma ideia..... vlw :) e como eu acesso esse struct igual sem pontero ......... processor.numero e processo.prox ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

No caso de com ponteiros, teria que primeiro alocar memória antes de usar eu suponho.

Em C:

lista = (struct processo*) malloc(sizeof(struct processo));

Em C++:

lista = new processo; OU lista = new struct processo;

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.