Comprensión de los Punteros Void
Cuando viste por primera vez void, se refería a funciones que no devuelven ningún valor. No se puede crear una variable de tipo void, pero sí se puede declarar un puntero void* que almacena la dirección de cualquier tipo de dato.
Si has realizado los ejercicios de punteros en la sección, sabrás que todos los punteros ocupan 8 bytes. Un puntero void* no es diferente.
Un puntero void* no está vinculado a ningún tipo de dato específico. Esta flexibilidad permite almacenar la dirección de cualquier tipo de dato en él. Sin embargo, hay una limitación: no se puede desreferenciar un puntero void*.
Esta limitación proviene de la misma razón por la que no se pueden declarar variables del tipo void. ¡Realice una conversión de tipo explícita!
Main.c
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; }
¡Felicidades por completar los conceptos básicos de programación en C! Para avanzar, explore temas como macros, algoritmos de ordenamiento y estructuras de datos. Aprender una distribución de Linux también le ayudará a desarrollarse como programador de C competente.
¡Gracias por tus comentarios!
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla
Awesome!
Completion rate improved to 2.63
Comprensión de los Punteros Void
Desliza para mostrar el menú
Cuando viste por primera vez void, se refería a funciones que no devuelven ningún valor. No se puede crear una variable de tipo void, pero sí se puede declarar un puntero void* que almacena la dirección de cualquier tipo de dato.
Si has realizado los ejercicios de punteros en la sección, sabrás que todos los punteros ocupan 8 bytes. Un puntero void* no es diferente.
Un puntero void* no está vinculado a ningún tipo de dato específico. Esta flexibilidad permite almacenar la dirección de cualquier tipo de dato en él. Sin embargo, hay una limitación: no se puede desreferenciar un puntero void*.
Esta limitación proviene de la misma razón por la que no se pueden declarar variables del tipo void. ¡Realice una conversión de tipo explícita!
Main.c
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; }
¡Felicidades por completar los conceptos básicos de programación en C! Para avanzar, explore temas como macros, algoritmos de ordenamiento y estructuras de datos. Aprender una distribución de Linux también le ayudará a desarrollarse como programador de C competente.
¡Gracias por tus comentarios!