Ir ao conteúdo
  • Cadastre-se

Cláusulas void


De Los Santos

Posts recomendados

Suponho que esteja falando de C. Então, é mais o menos o seguinte:

- O tipo void para uma função, indica que não há um valor retornado.

Exemplo:

void exit (int status);

- É usado também em funções que não recebem parámetros:

Exemplo:

int rand (void);

Agora, o tipo void *, ou "pointer to void", representa o endereço de um objeto, mas não o tipo do objeto. É usado como um tipo de ponteiro genérico, quando você quer que uma função possa receber como parámetros ponteiros a objetos de diferentes tipos.

Exemplo:

void *memcpy (void *dest, void *source, size_t count);

Abraços,

Elga.

Link para o comentário
Compartilhar em outros sites

A função memcpy

void *memcpy (void *dest, void *source, size_t count);

copia "count" caracteres (ou bytes) de um buffer apontado por "source" para o buffer apontado por "dest".

Exemplo:

char str1[] = "Ola, De Los Santos";

char str2[5];

void main (void)

{

memcpy(str2, str1, 3); // copia os tres primeiros caracteres de str1 para str2

str2[3] = 0; // coloca 0 no final, para poder mostrar como string

printf("%s", str2);

}

Na tela aparecerá a string "Ola".

Os parâmetros da função são declarados de tipo "void *" para poder usar esta função com buffers de qualquer tipo, pode ser um array de char, como no meu exemplo, ou um array de int, ou utilizá-la para copiar uma estrutura para outra, o que você quiser.

Claro que tem que tomar cuidado para não ultrapassar a fronteira da variável destino, quer dizer, não copiar nela um buffer de tamanho maior que ela mesma, pois o compilador não avisa, e você pode invadir outra região da memória e "melar" o conteúdo de outras variáveis. :ahh:

A linguagem C dá total libertade para o programador mexer na memória, mas a liberdade tem que estar acompanhada de muita responsabilidade ! :D

Abraços,

Elga

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...