Ejercicio 1: Este
problema es una de las utilidades más típicas de los punteros,
la creación de listas, su definición básica está
basada en las estructuras, se muestra el enlace de tres nodo, que parten
de un puntero cabecera,
que nos indica donde comienza la lista, también disponemos de
un puntero ultimo
que nos dice de donde va a colgar el siguiente que creemos.
Ejercicio 2: En
este problema mostramos algunas declaraciones que podemos realizar con
punteros.
Ejercicio 3: Se
muestra a continuación un programa con dos cadenas que son asignadas
a variables puntero en lugar de a arrays unidimensionales convencionales.
Ejercicio 4: En
este otro mostramos unos cuantos valores que rodean a un puntero, su dirección,
su valor, y los valores de punteros.
Ejercicio 5: Programa
que declara una variable basura comoun array
de arrays static,
de forma que podamos inicializarlo en la misma sentencia. A continuación
preparamos una función que acepte una dirección y un tamaño
de array como
argumentos, y duplique los elementos que se indiquen. Para ello usaremos
el bucle for
que aplique esta función a cada subarray
de basura. Por
último, se imprime el valor del array
Ejercicio 7: Programa
anterior en una nueva variante, en el que dada una matriz, nos multiplica
todos sus elementos por 2. Estas operaciones se harán en una función
llamada dub( ).
Este programa realiza la misma salida que el anterior, pero aplica una
función bidimensional.
Ejercicio 8: En
este último ejercicio se realiza un menú de pantalla
que consta de 3 opciones, notar que en lugar de usar punteros a funciones
podíamos haber usado sentencias if
anidadas, o sentencias switch,
sin embargo, de esta forma resulta mucho más cómodo y rápido.