Programación General > C/C++
Punteros y algunas dudas
(1/1)
kingsizen:
Hola gente del foro. les queria preguntar para que se utilizan los punteros, o para que tipo de algoritmos es recomendable usar punteros.
tengo un ejemplo:
Este es un programita que cuenta ESPACIOS y letras A en una palabra ingresada...
--- Código: C --- # include <stdio.h> main(){ char palabra[10],*punt; int espacios,letrasA; espacios=0; letrasA=0; printf ("Ingrese una palabran"); scanf ("%s",palabra); punt=palabra; while (*punt != '') { if (*punt == ' ') ++espacios; if (*punt == 'a') ++letrasA; punt++;} printf ("La palabra ingresada tiene %d espacios y %d letras A",espacios,letrasA); }
y aqui tenemos el mismo programa pero sin usar punteros..
--- Código: C --- # include <stdio.h> main(){ char palabra[10]; int i,espacios,letrasA; espacios=0; letrasA=0; i=0; printf ("Ingrese una palabran"); scanf ("%s",palabra); while (palabra[0] != '') { if (palabra[0] == ' ') ++espacios; if (palabra[0] == 'a') ++letrasA; i++; } printf ("La palabra ingresada tiene %d espacios y %d letras A",espacios,letrasA); }
entonces... hay casos particulares en los cuales NO se puede programar sin usar punteros??
cuales serian esos casos?
espero sus respuestas. muchas gracias!
betopin:
Puedes usar punteros para praticamente todo...de hecho a medida que vayas avanzando en tus estudios veras que son imprescindibles en el uso de ficheros, manejo de listas, entre otros. Su gran fortaleza es el hecho de poder acceder a cualquier dato practicamente en cualquier momento....aunque esto suele muchas veces ser motivo de confusion para quienes aun no estan acostumbrados a su uso, ya que los punteros...como supongo ya sabrás, almacenan direcciones de memoria, no valores
Saludos
fachamix:
usar punteros es mas rapido que usar variables comunes.
el problema de los punteros es como gestionamos su uso, porque luego deusarlos hay que liberarlos.
para trabajar con estructuras de datos dinamicas, como listas, pilas y colas, vas a utilizar punteros.
los punteros te van a permitir crear estructuras de datos muy avanzadas y complejas, como por ejemplo, los arboles, y los grafos.
para algoritmos de busqueda por ejemplo, se utilizan punteros.
en fin, son impresindibles.
mejor acostumbrate a trabajar con ellos
m0skit0:
--- Cita de: "kingsizen" ---y aqui tenemos el mismo programa pero sin usar punteros..
--- Fin de la cita ---
Falso. Estás usando punteros: palabra es un puntero (si no me crees haz un printf("%xn", palabra) y verás la dirección de memoria). Con palabra[0] por ejemplo estás direccionando el puntero + 0.
Navegación
Ir a la versión completa