Título: (Consulta) - Declaracion de punteros en Null Publicado por: palacio29 en 16 Mayo 2019, 03:14 am [LENGUAJE C] Tengo la siguiente sentencia y nose como interpretarla.
Char * Arreglo = NULL; Que significa esto?. Que el contenido de este arreglo es vacio y como es la direccion de memoria de esa variable?.Porque hago un %p y salen todos ceros... Título: Re: (Consulta) - Declaracion de punteros en Null Publicado por: K-YreX en 16 Mayo 2019, 04:45 am Cuando creas un puntero, ese puntero guarda una dirección de memoria. Si el puntero no lo inicializas al crearlo, este apuntará a una dirección de memoria cualquiera que puedes ver pero no puedes usar porque no sabes a qué está apuntando. Se puede hacer que apunte a NULL para tener una referencia de que ese puntero no está en uso en ese momento.
Y ten cuidado con lo del arreglo... Un puntero no es un arreglo. Un puntero apunta al comienzo de un arreglo en el caso de que hayas reservado memoria o que sea un array estático, que no es el caso. Título: Re: (Consulta) - Declaracion de punteros en Null Publicado por: MAFUS en 16 Mayo 2019, 09:29 am NULL es 0, cuando C ve que un puntero apunta a la posición 0 o NULL sabe que no está apuntando a nada.
Esto le sirve al programador para saber si el puntero está inicializado o no, por ejemplo cuando haces uso de fopen está devuelve un puntero. Este puntero puede ser a una estructura FILE correctamente inicializada o a NULL indicando que no se pudo abrir el archivo. O strstr devolverá NULL si una cadena ni está contenida en la otra. |