Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Compreendendo os Ponteiros Void | Ponteiros
Fundamentos de C

bookCompreendendo os Ponteiros Void

Quando você viu void pela primeira vez, ele se referia a funções que não retornam nada. Não é possível criar uma variável do tipo void, mas é possível declarar um ponteiro void* que armazena o endereço de qualquer tipo de dado.

Note
Nota

Se você realizou os exercícios de ponteiros nesta seção, sabe que todos os ponteiros ocupam 8 bytes. Um ponteiro void* não é diferente.

Um ponteiro void* não está vinculado a nenhum tipo de dado específico. Essa flexibilidade permite armazenar o endereço de qualquer tipo de dado nele. No entanto, há uma ressalva: não é possível desreferenciar um ponteiro void*.

Note
Nota

Essa limitação decorre do mesmo motivo pelo qual não é possível declarar variáveis do tipo void. Realize uma conversão de tipo explícita!

Main.c

Main.c

copy
1234567891011121314151617181920
#include <stdio.h> int main() { char c = 'F'; int i = 100; double d = 3.15; void* pV; pV = &c; printf("%c \n", *((char*)pV)); pV = &i; printf("%d \n", *((int*)pV)); pV = &d; printf("%.2f \n", *((double*)pV)); return 0; }

Parabéns por concluir o básico de programação em C! Para avançar ainda mais, explore tópicos como macros, algoritmos de ordenação e estruturas de dados. Aprender uma distribuição Linux também ajudará no seu desenvolvimento como programador C.

question mark

Como recuperar o valor de um ponteiro void?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 6. Capítulo 6

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Suggested prompts:

Can you explain why you can't dereference a void pointer?

What are some common uses for void pointers in C?

Can you give examples of how to cast a void pointer to another type?

Awesome!

Completion rate improved to 2.63

bookCompreendendo os Ponteiros Void

Deslize para mostrar o menu

Quando você viu void pela primeira vez, ele se referia a funções que não retornam nada. Não é possível criar uma variável do tipo void, mas é possível declarar um ponteiro void* que armazena o endereço de qualquer tipo de dado.

Note
Nota

Se você realizou os exercícios de ponteiros nesta seção, sabe que todos os ponteiros ocupam 8 bytes. Um ponteiro void* não é diferente.

Um ponteiro void* não está vinculado a nenhum tipo de dado específico. Essa flexibilidade permite armazenar o endereço de qualquer tipo de dado nele. No entanto, há uma ressalva: não é possível desreferenciar um ponteiro void*.

Note
Nota

Essa limitação decorre do mesmo motivo pelo qual não é possível declarar variáveis do tipo void. Realize uma conversão de tipo explícita!

Main.c

Main.c

copy
1234567891011121314151617181920
#include <stdio.h> int main() { char c = 'F'; int i = 100; double d = 3.15; void* pV; pV = &c; printf("%c \n", *((char*)pV)); pV = &i; printf("%d \n", *((int*)pV)); pV = &d; printf("%.2f \n", *((double*)pV)); return 0; }

Parabéns por concluir o básico de programação em C! Para avançar ainda mais, explore tópicos como macros, algoritmos de ordenação e estruturas de dados. Aprender uma distribuição Linux também ajudará no seu desenvolvimento como programador C.

question mark

Como recuperar o valor de um ponteiro void?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 6. Capítulo 6
some-alt