Página 1 de 1

Ajuda em Código.

MensagemEnviado: 12 Ago 2009 17:40
por SoMeWhErE
Olá Pessoal...

Então estou com um probleminha de entendimento aqui...
Código: Selecionar todos
int MakeCheckSum(unsigned char *tmpBuf)
{
int size = strlen((char*)tmpBuf);.
.
.
}


na linha dentro da função o que faz o (char*)?

Estou iniciando em programação....esse trecho de código foi retirado de um software feito em Visual C++ e estou passando para C do Compilador MikroC Pro Pic.

Obrigado.

MensagemEnviado: 12 Ago 2009 18:22
por Francesco
Esse (char *) faz com que a função "acredite" que o que está entrando é desse tipo, e não o ( unsigned char *) que é o tipo real de tmpBuf.

Vou dar um outro exemplo.
Suponha que você tem uma variável tipo char e outra tipo int.
Código: Selecionar todos
char dado ;
int numero ;


Suponha que numero tenha o valor 10 ;

Código: Selecionar todos
 numero = 10 ;


Esse valor cabe na variável dado. Mas o compilador vai reclamar, dizendo que são de tipos diferentes.

Colocando a linha abaixo, o compilador vai atribuir o valor 10 de número para dado sem reclamar.

Código: Selecionar todos
 dado = ( char ) numero ;


Isso se chama cast.

MensagemEnviado: 13 Ago 2009 09:28
por SoMeWhErE
Ok Francesco.....

muito bem explicado, e agora sim entendi .

Valew.....