[C con Clase] Punteros

David fire ddfire en gmail.com
Jue Mayo 28 22:47:15 CEST 2009


una duda filosofica la de usted...

la cuestion de los punteros no es menor son MUY importantes en C, no creo
que haya programas de complejidad media sin punteros.

el caso mas sencillo es un string en C es un arreglo de caracters que no es
mas que un puntero a chars que se encuentran uno despues del otro en la
memoria.
char string[10];
pero hay situaciones muy importantes como por ejemplo necesitas que una
funcion tome varios parametros te devuelva un codigo de error y te devuelva
tambien el valor precesado.
abajo hay un ejemplo con codigo.
otor caso es que necesites pasar como parametro una estrucutra muy grande si
la pasas normal se estaria copiando y puede ser muy lento poner todo eso en
el stack en cambio si pasas el puntero no se copia y es mas rapido.

David

coderror=dividir(a,b,&c); //esta funcion divide a por b pero solo positivos.

int dividir (int a,b,int *c)
{
    if (a<0)
       return 1;
   if (b<0)
     return 2;
   if(b==0) //quiero avisar que se esta dividiendo por 0.
     return 3;

*c=a/b;
return 0; //sin errores
}

en el main
int main (int argc,char *argv[])
{ int a,b,c;

/* el usuario ingresa a y b*/

   if(dividir(a,b,c)!=0)
     ;//informar error
   else
     ;//informar resultado.

return 0;
}





El 28 de mayo de 2009 17:34, Diego <bruceleechile en gmail.com> escribió:

> Nuevamente hola a toda la lista que en realidad me han ayudado mucho
> durante este corto tiempo, gracias.
>
> Bueno resulta que en la universidad estamos pasando punteros en c y la
> verdad es que la base la entiendo, por ejemplo:
>
> int a=4;  //variable a entero
> int *punt; //creo el puntero *punt com entero
>
> punt=&a; //asigno a punt la direccion de memoria donde se aloja a (apunto a
> a)
>
> printf("%i", punt); //mostrara la direccion de memoria donde se aloja a
> printf("%i", punt); //mostrara el valor de la variable a
>
> tambien entiendo que en scanf("%i", &a); el & actua como un puntero
> asignando el valor ingresado por el usuario a la direccion de memoria en
> donde se ubica la variable a
>
>
> eso lo entinedo , ahora lo que se me hace dificil de entender es que este
> mismo codigo sin punteros seria mucho mas corto sin ellos, claro no se
> podria mostrar la direccion de memoria, pero solo eso, es por ello que no
> entiendo efectivamente para que me sirven los punteros no entiendo su uso.
> sea como argumento de funciones, o su trabajo en conjunto con los arreglos
> u estructuras
>
> espero puedan ayudarme nuevamente ;), gracias
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>



-- 
(\__/)
(='.'=)This is Bunny. Copy and paste bunny into your
(")_(")signature to help him gain world domination.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20090528/9d6fea74/attachment.html>


Más información sobre la lista de distribución Cconclase