SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: kingsizen en Domingo 12 de Abril de 2009, 03:10

Título: Punteros y algunas dudas
Publicado por: kingsizen en Domingo 12 de Abril de 2009, 03:10
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
  1.  
  2. # include <stdio.h>
  3.  
  4. main()
  5. {
  6.       char palabra[10],*punt;
  7.       int espacios,letrasA;
  8.      
  9.       espacios=0;
  10.       letrasA=0;
  11.       printf ("Ingrese una palabran");
  12.       scanf ("%s",palabra);
  13.       punt=palabra;
  14.      
  15.       while (*punt != '')
  16.       {
  17.       if (*punt == ' ')
  18.       ++espacios;
  19.       if (*punt == 'a')
  20.       ++letrasA;
  21.       punt++;
  22. }
  23.       printf ("La palabra ingresada tiene %d espacios y %d letras A",espacios,letrasA);
  24.      
  25. }
  26.      
  27.  
  28.  

y aqui tenemos el mismo programa pero sin usar punteros..

Código: C
  1.  
  2. # include <stdio.h>
  3.  
  4. main()
  5. {
  6.       char palabra[10];
  7.       int i,espacios,letrasA;
  8.      
  9.       espacios=0;
  10.       letrasA=0;
  11.       i=0;
  12.       printf ("Ingrese una palabran");
  13.       scanf ("%s",palabra);
  14.      
  15.      
  16.       while (palabra[0] != '')
  17.       {
  18.       if (palabra[0] == ' ')
  19.       ++espacios;
  20.       if (palabra[0] == 'a')
  21.       ++letrasA;
  22.       i++;
  23.       }
  24.       printf ("La palabra ingresada tiene %d espacios y %d letras A",espacios,letrasA);
  25.      
  26. }
  27.      
  28.  
  29.  

entonces... hay casos particulares en los cuales NO se puede programar sin usar punteros??
cuales serian esos casos?

espero sus respuestas. muchas gracias!
Título: Re: Punteros y algunas dudas
Publicado por: betopin en Domingo 12 de Abril de 2009, 19:00
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
Título: Re: Punteros y algunas dudas
Publicado por: fachamix en Lunes 13 de Abril de 2009, 17:02
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
Título: Re: Punteros y algunas dudas
Publicado por: m0skit0 en Martes 14 de Abril de 2009, 17:27
Cita de: "kingsizen"
y aqui tenemos el mismo programa pero sin usar punteros..
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.