PONTEIROS

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

PONTEIROS

Mensagempor KILB » 25 Fev 2007 16:21

OLÁ,

SOU NOVO NO FORUM E EM C PARA PIC E TENHO UMA DUVIDA A QUAL ESTA RELACIONADA COM PONTEIRO.
NA VERDADE EU NÃO CONSIGO ENTENDER O PORQUE DE SE GUARDAR EM UMA VARIAVEL O ENDEREÇO DE OUTRA VARIAVEL.
POR EXEMPLO:

END_VAR=&VAR

ALGUEM PODERIA ME DAR UMA IDÉIA DE UTILIZAÇÃO MAIS PRATICA DE PONTEIRO?


VALEU




KILB
VENDO BRASILIA 78 - AZUL CALCINHA - RODA GAIUCHA, PNEU TALA LARGA E TOCA FITA RODSTAR, TRATAR NO BUTECO
KILB
Byte
 
Mensagens: 103
Registrado em: 17 Fev 2007 21:52

Mensagempor KrafT » 25 Fev 2007 17:45

"..."Come to the edge," he said. And so they came. And he pushed them. And they flew."― Guillaume Apollinaire
Avatar do usuário
KrafT
Dword
 
Mensagens: 2228
Registrado em: 11 Out 2006 14:15
Localização: Blumenau -SC

Mensagempor KILB » 25 Fev 2007 18:51

OBRIGADO,

MAS O LIVRO EU JA TENHO

:D
VENDO BRASILIA 78 - AZUL CALCINHA - RODA GAIUCHA, PNEU TALA LARGA E TOCA FITA RODSTAR, TRATAR NO BUTECO
KILB
Byte
 
Mensagens: 103
Registrado em: 17 Fev 2007 21:52

Mensagempor KrafT » 25 Fev 2007 19:07

KILB escreveu:
MAS O LIVRO EU JA TENHO

:D


Legal! Pagina 113, Capitulo 8.
"..."Come to the edge," he said. And so they came. And he pushed them. And they flew."― Guillaume Apollinaire
Avatar do usuário
KrafT
Dword
 
Mensagens: 2228
Registrado em: 11 Out 2006 14:15
Localização: Blumenau -SC

Mensagempor __JEREK__ » 25 Fev 2007 19:10

Bom, na verdade não é só guardar o endereço, uma ponteira "aponta" para algum lugar. Veja esse exemplo.

Imagine que você tem o seguinte texto para salver no PIC

Não fume, Não fale com o motorista, Não pertube a ordem, Não aceite presente de estranhos.

Se você fizer uma ponterira tipo:

A = Não
B = &A

teriamos a frase mais compacta tipo

B fume, B fale com o motorista, B pertube a ordem, B aceite presente de estranhos.

por que não usamos A diretamente? porque para string tem que ser via ponteira.

me corrijam se eu estiver errado.
__JEREK__
Byte
 
Mensagens: 216
Registrado em: 11 Out 2006 17:53
Localização: BA

Mensagempor KILB » 25 Fev 2007 19:24

BOM JEREK,

VAMO VE SE ENTENDI,


É COMO SE FOSSE UMA CONSTANTE QUE É COLOCADA NO COMEÇO DE UM PROGRAMA E ESPALHADA DEPOIS PELO PROGRAMA TODO.
NA VERDADE SE VC QUISER MUDAR AQUELE VALOR, VC SÓ MUDA O VALOR DECLARADO NO INICIO DO PROGRAMA E O RESTO É MODIFICADO AUTOMATICAMENTE.
COM CERTEZA APLICANDO ISTO NO CASO EM PONTEIROS.

SE FOR ISTO ENTENDI



MUITISSIMO OBRIGADO JEREK




KILB
VALEU KRAFT
VENDO BRASILIA 78 - AZUL CALCINHA - RODA GAIUCHA, PNEU TALA LARGA E TOCA FITA RODSTAR, TRATAR NO BUTECO
KILB
Byte
 
Mensagens: 103
Registrado em: 17 Fev 2007 21:52

Mensagempor KrafT » 25 Fev 2007 19:50

Não é bem assim. Dá uma lida nessa pagina:

http://br.geocities.com/sdiasneto/c_int/ponteiros.htm

Pq redigitar tudo aquí não dá, hehe...
"..."Come to the edge," he said. And so they came. And he pushed them. And they flew."― Guillaume Apollinaire
Avatar do usuário
KrafT
Dword
 
Mensagens: 2228
Registrado em: 11 Out 2006 14:15
Localização: Blumenau -SC

Mensagempor KILB » 25 Fev 2007 19:59

Muito obrigado colega Kraft,

Este material é de grande valia para mim.

Vou estuda-lo e caso tenha duvidas, humildemente voltarei a posta-las para que os colegas possam me ajudar.



Valeu


KILB
VENDO BRASILIA 78 - AZUL CALCINHA - RODA GAIUCHA, PNEU TALA LARGA E TOCA FITA RODSTAR, TRATAR NO BUTECO
KILB
Byte
 
Mensagens: 103
Registrado em: 17 Fev 2007 21:52

Mensagempor KrafT » 25 Fev 2007 20:14

Não é má vontade não... O assunto é muito extenso mesmo. Por isso eu indiquei os textos e assim o colega vai ter dúvidas mais específicas e mais "respondíveis".

Mas, vou te dar um exemplo rápido e prático:

- Voce recebe dados pela porta serial do PIC. Só que os dados só tem utilidade se receber o pacote inteiro. O que voce faz?

No inicio voce cria uma matriz, por exemplo RxData e um ponteiro (PonteiroRx) desses dados. O primeiro byte vc salva em RxData[PonteiroRx], sendo PonteiroRx inicialmente =0.

Aí voce incrementa PonteiroRx e o proximo byte será automaticamente salvo na segunda posicao de RxData.

No final da recepcao , vc utilizara novamente de ponteiro para ler e checar esses dados.

Agora se voce tem duas portas seriais, voce cria um RxData1 usa um ponteiro para RxData e outro para RxData1, permitindo que vc use as mesmas rotinas para tratar matrizes diferentes, economizando um monte código.
"..."Come to the edge," he said. And so they came. And he pushed them. And they flew."― Guillaume Apollinaire
Avatar do usuário
KrafT
Dword
 
Mensagens: 2228
Registrado em: 11 Out 2006 14:15
Localização: Blumenau -SC

Mensagempor KILB » 25 Fev 2007 20:22

Longe disso Kraft,

A minha obstinação em aprender é muito grande, e como disse sou iniciante mesmo e hobista, por isso vou ler com extrema atenção o que vc me passou e com certeza voltaremos a converssar sobre os tais ponteiros.



Valeu, de coração muito obrigado,

T+

KILB
VENDO BRASILIA 78 - AZUL CALCINHA - RODA GAIUCHA, PNEU TALA LARGA E TOCA FITA RODSTAR, TRATAR NO BUTECO
KILB
Byte
 
Mensagens: 103
Registrado em: 17 Fev 2007 21:52

Mensagempor andre_luis » 26 Fev 2007 09:53

Uso esse site como referencia :

http://www.mtm.ufsc.br/~azeredo/cursoC/c.html
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Mensagempor Lorin » 26 Fev 2007 14:20

Olá!

Veja estas 4 páginas de boa conversa sobre PONTEIROS EM C no fórum antigo ASM51:

http://www.asm51.eng.br/forum/topic.asp?TOPIC_ID=8212

sdçs e blz!
Lorin
Bit
 
Mensagens: 31
Registrado em: 13 Out 2006 18:44

Mensagempor Lorin » 26 Fev 2007 14:33

Moderadores:

Migrem/salvem para o fórum novo este tópico,pois o mesmo está bem legal!

http://www.asm51.eng.br/forum/topic.asp?TOPIC_ID=8212

Sdçs
Lorin
Bit
 
Mensagens: 31
Registrado em: 13 Out 2006 18:44

Mensagempor EDSONCAN » 26 Fev 2007 15:18

"NA VERDADE EU NÃO CONSIGO ENTENDER O PORQUE DE SE GUARDAR EM UMA VARIAVEL O ENDEREÇO DE OUTRA VARIAVEL. "
Pense na situacao na qual vc tem que trabalhar com matrizes e estruturas complexas com varios tipo de variaveis, na qual vc tem que passar isso como parametro de funções, e mais facil passar o endereco para a estrutura ou a estrututa toda, ou cria-la como global e perder a propriedade de encapsular os dados localmente, que pode evitar erros, principalmente trabalhando em grupo.
Sei que é enrolado, mas para acabar de dar um nó na sua cabeça da para fazer ponteiro de ponteiro e aritimetica com eles tambem.
Ponteiros sao poderos, mas se for disciplinado e melhor nao usar.

Edson
EDSONCAN
Word
 
Mensagens: 876
Registrado em: 11 Out 2006 14:11


Voltar para PIC

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

cron

x