Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/11/2006, 17:58
N0vat0
 
Fecha de Ingreso: julio-2006
Mensajes: 99
Antigüedad: 18 años, 6 meses
Puntos: 0
sobre punteros y funciones

Varias preguntas:

1. Se puede asignar a un puntero una cadena d esta forma?
char cad[10];
char *p=cad;

2. Porque para asignarle a un puntero a int un valor no hay q reservar memoria dinamica y para un puntero a char si?
ej:
int *p=8; // estaria bien, no?
char *p='a'; // estaria mal, igual q para cadenas, no?

3.
Porque no se puede pasar parametros asi?:
int *a=2,*b=3;
funcion(*a,*b); //llamada con el valor que contenga la dirreccion de //memoria apuntada, en este caso (2,3);
int funcion( a,b){} // sindo a,b variables q contendran 2 y 3.

Porque tampoco se puede hacer esto?:
funcion(&a,&b); // llamada con direcciones de memoria de a y b
int funcion(a,b){} //siendo a y b variables, q contienen las direcciones de //memoria de a y b de la funcion main

Porque si se puede hacer al reves?
funcion(a,b);
int funcion(&a,&b){}

4. Cuando tu defines un puntero dentro de una funcion, no se destruye al retornar ésta al contrario q las variables?? conserva su direccion de memoria y su valor? es esto una ventaja de los punteros? Con que funcion se podian liberar? cuando reservas memoria dinamica con malloc, es recomendarla liberarla siempre con free??

Saludos.