Entendendo claramente o que é variável, que não passa de uma parte de memória onde se armazena valores de um determinado tipo,
podemos dizer que ponteiro também é uma variável que carrega um endereço de uma posição de outra variável.
Quando uma variável possui o endereço de outra, dizemos em C que a variável está apontando para outra.
Para declarar um ponteiro escolhemos primeiro o tipo, adequado permitido e em seguida damos um nome precedendo de *.
Ex: tipo *nome_da_variavel;
Vale lembrar que podemos criar ponteiros para qualquer tipo aceito no C, e que são usados só dois operadores especiais, que são o * e o &.
O operador que devolve o endereço de memória é o & que é considerado um operador unário, isto é, trabalha sobre uma variável para modificar, ou manter um determinado valor.
A matriz de ponteiro static char *Mat_Mesg [ ] = {}; com a palavra reservada static declarada local, utiliza a passagem de parâmetros,
observe o uso do apontador e veja que uma cópia fiel
é passada para a função Sub_Titulos ( int x, char *Mat_Mesg [ ] );
De onde vem as chamadas das mensagens de interação com o usuário do programa.
Em outras funções que também receberam parâmetros forcei o uso de ponteiros, onde foram obrigatoriamente
usados para um bom desempenho do programa.
A função Sorteia_Mega_Sena( int *A ); é a mais importante, é nela onde são gerados os números aleatórios dentro de uma faixa estreita, entre 1 e 60, fiquei muitas horas empenhados nesta função porque os valores se repetiam, não foi fácil fazer isto que parece ser tão simples.
A lógica pra resolver isto foi trabalhar com estas repetições, anulando a sequência e gerando outra, isto é feito automaticamente pelo programa, e duvido que alguém perceba que houve repetições, porque tudo acontece muito rápido.
Fica bem claro que é exigido um bom conhecimento de ponteiros e alocação dinâmica para entender este código,
portanto não é indicado a quem está iniciando agora.
Pergunta
roccoC/C++
Entendendo claramente o que é variável, que não passa de uma parte de memória onde se armazena valores de um determinado tipo,
podemos dizer que ponteiro também é uma variável que carrega um endereço de uma posição de outra variável.
Quando uma variável possui o endereço de outra, dizemos em C que a variável está apontando para outra.
Para declarar um ponteiro escolhemos primeiro o tipo, adequado permitido e em seguida damos um nome precedendo de *.
Ex: tipo *nome_da_variavel;
Vale lembrar que podemos criar ponteiros para qualquer tipo aceito no C, e que são usados só dois operadores especiais, que são o * e o &.
O operador que devolve o endereço de memória é o & que é considerado um operador unário, isto é, trabalha sobre uma variável para modificar, ou manter um determinado valor.
A matriz de ponteiro static char *Mat_Mesg [ ] = {}; com a palavra reservada static declarada local, utiliza a passagem de parâmetros,
observe o uso do apontador e veja que uma cópia fiel
é passada para a função Sub_Titulos ( int x, char *Mat_Mesg [ ] );
De onde vem as chamadas das mensagens de interação com o usuário do programa.
Em outras funções que também receberam parâmetros forcei o uso de ponteiros, onde foram obrigatoriamente
usados para um bom desempenho do programa.
A função Sorteia_Mega_Sena( int *A ); é a mais importante, é nela onde são gerados os números aleatórios dentro de uma faixa estreita, entre 1 e 60, fiquei muitas horas empenhados nesta função porque os valores se repetiam, não foi fácil fazer isto que parece ser tão simples.
A lógica pra resolver isto foi trabalhar com estas repetições, anulando a sequência e gerando outra, isto é feito automaticamente pelo programa, e duvido que alguém perceba que houve repetições, porque tudo acontece muito rápido.
Fica bem claro que é exigido um bom conhecimento de ponteiros e alocação dinâmica para entender este código,
portanto não é indicado a quem está iniciando agora.
Editado por roccoC/C++Veja abaixo imagens do programa em execução:
http://3.bp.blogspot.com/-Z7isn1X9Lz4/VRbRSp3_fMI/AAAAAAAACKc/SWJVBhIoDdQ/s1600/me_g.PNG
http://3.bp.blogspot.com/-fQGwT6mN3rs/VRbRTuzuB3I/AAAAAAAACKo/LM2epW12mVo/s1600/meg.PNG
http://3.bp.blogspot.com/-hegvJGS9K-Y/VRbRTaGCEzI/AAAAAAAACKk/3dkyLjc3ius/s1600/megs.PNG
http://3.bp.blogspot.com/-09QPg2ecJ9A/VRbRUnc4hKI/AAAAAAAACK0/5lcwKx_NvKk/s1600/megsn.PNG
http://3.bp.blogspot.com/-EesfgC5Nonc/VRbRV6GsQGI/AAAAAAAACLA/YCmxIzZJhoU/s1600/megso.PNG
http://1.bp.blogspot.com/-mzW8VCXK_ww/VRbRVga3P5I/AAAAAAAACK8/0RoKuWE0yiU/s1600/megsp.PNG
http://3.bp.blogspot.com/-vkZVAL-i394/VRbRWecWS7I/AAAAAAAACLM/vTc8FH1KwpQ/s1600/sen.PNG
http://3.bp.blogspot.com/-hGAIlbB_Fm8/VRbRZS8GPzI/AAAAAAAACLY/KRydd30bgTM/s1600/sen_me.PNG
http://2.bp.blogspot.com/-fxJjjmJQEK8/VRbRY_39SbI/AAAAAAAACLU/Sw4Li2wS_Lw/s1600/sen_meg.PNG
Veja abaixo o link do código do programa:
http://codigosfontes-ccplus-plus.blogspot.com.br/2015/03/programa-mega-sena_28.html
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.