Página 1 de 1

diretiva desconhecida...

MensagemEnviado: 15 Ago 2009 15:46
por fabim
LABEL -> " ".

estou estudando algumas bibliotecas e me deparei com estes comandos dsconhecidos por mim.

Seria por exemplo;

GPIO1 -> IOSET1 = 0x000000EF;

o que quer dizer o ifem + sinal maior " -> " ?

Abraços

Fabim

Re: diretiva desconhecida...

MensagemEnviado: 16 Ago 2009 09:14
por Rodrigo_P_A
fabim escreveu:LABEL -> " ".

estou estudando algumas bibliotecas e me deparei com estes comandos dsconhecidos por mim.

Seria por exemplo;

GPIO1 -> IOSET1 = 0x000000EF;

o que quer dizer o ifem + sinal maior " -> " ?

Abraços

Fabim



isso num é diretiva, é para acessar dados de uma estrutura que é passada como ponteiro, faz parte da sintaxe da linguagem C, veja:

este cara dá uma explicada nisso:

http://www.slideshare.net/regispires/li ... esentation

MensagemEnviado: 16 Ago 2009 16:07
por fabim
blz Rodrigo.
Então, li todos os artigos e nenhum faz menção da diretiva.

Nome_Struct -> componente_diretiva = valor;

Isto não é o mesmo que.

Struct.componente = valor ;

Dei uma pesquisada, e a primeira opção é utilizada pra deixar o código mais bunitinho, mais o efeito é o mesmo.

Strcut {
ano : 16;
mes : 4;
dia_mes : 8;
dia_sem : 4;
hora :8;
minuto :8;
segundo : 8;
}calendario;

tipo.
calendario.dia_mes = 20;

No caso daquela diretiva;

calendario -> dia_mes = 20;

Ou eu engoli caroço no raciocinio ?

Abraços

Fabim

MensagemEnviado: 16 Ago 2009 16:38
por Rodrigo_P_A
Vou explicar com um exemplo:

typedef struct {
char c1,c2,c3,c4;

} tpTeste;
tpTeste Teste1;


void rotina ( tpTeste *p ) {
p->c1=2; // acesso o dado da estrutura que foi passada como ponteiro
}

int main ( ) {
Teste1.c1=1;
rotina ( &Teste1 );
// agora Teste1.c1 = 2 pois a rotina alterou ele
Teste1->c1=3; // vai dar erro, pois Teste1 num é ponteiro de estrutura
}

MensagemEnviado: 16 Ago 2009 16:42
por fabim
agora tendeu ;-)

Obrigado !!


Fabim