28/07/2010, 08:33
|
| | Fecha de Ingreso: abril-2010 Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años, 8 meses Puntos: 228 | |
Respuesta: comenzando con C, primer problema! El "*" cumple distintos roles dependiendo de donde esta. A la hora de declarar un tipo, si añades el "*" esto indica que es un puntero hacia ese tipo.
Ahora si usas el "*" adelante de una variable lo que indica es que tomes el valor de variable y busquees en memoria esa direccion. Y te quedas con ese valor: Ejemplo:
int * i = 400;
a = *i;
Eso lo que hace busca en la memoria la posicion 400, toma el valor que hay en esa posicion y lo devuelve:
En cambio si usas el "&" delante de una variable lo que haces el devolver la posicion de memotia donde se encuntra esa variable almacenada.
Por eso para pasar un valor por referencia debes al llamar la funcion utilizar el "&". Y luego adentro de la funcion para modificar su valor debes usar el "*". |