Duplicar posibles:
What's the difference between a null pointer and a void pointer?¿Cuál es la diferencia entre un puntero de vacío y un puntero NULL?
¿Cuál es la diferencia entre un puntero para anular y un puntero NULL en C? ¿O son lo mismo?
Duplicar posibles:
What's the difference between a null pointer and a void pointer?¿Cuál es la diferencia entre un puntero de vacío y un puntero NULL?
¿Cuál es la diferencia entre un puntero para anular y un puntero NULL en C? ¿O son lo mismo?
void
es un tipo de datos. void*
es solo un puntero a un tipo indefinido. Se puede establecer un void*
en cualquier ubicación de memoria. Un puntero NULL es cualquier puntero que se establece en NULL (0).
Así que sí, son diferentes, porque un puntero void es un tipo de datos, y un puntero NULL se refiere a cualquier puntero que se establece en NULL.
Puntero a void es un puntero a un tipo no especificado. Es decir. Solo un puntero. Todavía puede ser un puntero válido, pero no sabemos a qué apunta (por ejemplo, una función puede tomar un puntero vacío como parámetro y luego interpretar el tipo de acuerdo con un parámetro diferente)
NULL es un puntero "vacío". No válido, se puede usar para especificar un puntero a nada/no establecido. Es un valor mientras que el vacío es un tipo.
En C, hay void
, void
puntero y NULL
puntero.
void
es ausencia de tipo. ES DECIR. una función que devuelve un tipo void
es una función que no devuelve nada.void
puntero: es un puntero a una ubicación de memoria cuyo tipo puede ser cualquier cosa: una estructura, un int, un flotador, lo que sea.NULL
es un puntero a la ubicación 0x00
, es decir, no hay ubicación. Apuntando a nadaEjemplos:
void
función:
void printHello()
{
printf("Hello");
}
void
puntero:
void *malloc(size_t si)
{
// malloc is a function that could return a pointer to anything
}
NULL
puntero:
char *s = NULL;
// s pointer points to nowhere (nothing)
Duplicado exacto de [¿Cuál es la diferencia entre un puntero nulo y un puntero de vacío?] (Http://stackoverflow.com/questions/3581585/whats-the-difference-between-a-null-pointer-and-a-void -puntero). Utilice la búsqueda antes de publicar preguntas. – qrdl