Ajuda em Código.

Programação C em geral

Moderadores: 51, guest2003

Ajuda em Código.

Mensagempor SoMeWhErE » 12 Ago 2009 17:40

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.
Avatar do usuário
SoMeWhErE
Byte
 
Mensagens: 119
Registrado em: 20 Jun 2007 18:09
Localização: Charqueada

Mensagempor Francesco » 12 Ago 2009 18:22

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.
Avatar do usuário
Francesco
Word
 
Mensagens: 699
Registrado em: 04 Mar 2008 00:22
Localização: São Paulo - SP

Mensagempor SoMeWhErE » 13 Ago 2009 09:28

Ok Francesco.....

muito bem explicado, e agora sim entendi .

Valew.....
Avatar do usuário
SoMeWhErE
Byte
 
Mensagens: 119
Registrado em: 20 Jun 2007 18:09
Localização: Charqueada


Voltar para Visual C++/C/C++/C#

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 0 visitantes

x