Lápices son uno de los más poderosos - y más difícil - características del lenguaje de programación C . Cuando se trabaja con punteros , a menudo es necesario para convertir entre diferentes tipos de punteros . A veces, es posible convertir directamente desde un tipo a otro , pero a menudo , sobre todo en programas complejos , puede que sea necesario almacenar un puntero que se ha convertido de un tipo, pero aún no se ha convertido en otro tipo de puntero. En ese caso, usted tendrá que usar un puntero nulo, lo que representa un puntero sin tipo en absoluto. Cosas que necesitará
C compilador C
programa
Ver Más instrucciones
1
declara su puntero nulo. Para hacer que una variable global o local o un campo de una estructura, escriba " void * p; " en una línea vacía dentro de la función o estructura asociada, o en el exterior de todas las funciones y estructuras para que sea global. Para agregar un argumento de un puntero nulo a una función , escriba " void * p" en la lista de argumentos de la función. En ambos casos, es posible sustituir la letra " p" con cualquier nombre de variable de su elección.
2
almacenar un valor en la variable de puntero nulo. Si ha realizado una variable local o global , acaba de escribir "p = (void *) x; " . Cambie "x " por el nombre del puntero con tipo desea convertir a un puntero nulo. Si usted hizo un campo de la estructura , escriba " sp = (void *) x; " . Reemplazar " s " con el nombre de la estructura y " x " con el nombre del puntero. Si usted hizo un argumento de función , llamar a la función así: "f ( (void *) x) " . Reemplazar " f " con el nombre de la función y " x " con el nombre del puntero.
3
Para leer el valor del puntero nulo y convertirlo de nuevo en un puntero con tipo , escriba " x = (tipo *) p; " , donde " x " es el puntero con tipo, "p" es el puntero nulo y "Type" es el tipo original del puntero guardado en " p". Tenga cuidado para obtener el tipo correcto, porque el compilador C estará debidamente convertir el puntero a cualquier tipo que pides, si estás en lo correcto o no. Esto puede llevar a errores sutiles que son difíciles de solucionar.