Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: n-utz en 19 Noviembre 2016, 21:07 pm



Título: Pasar array dinamico por referencia
Publicado por: n-utz en 19 Noviembre 2016, 21:07 pm
Buenas gente, miren, cortito y al pie, necesito pasar una variable:

char* pass;

Cómo debería declarar la función y como le mandaría dicha variable por referencia?

Lei que puede ser funcion(&pass), y para declararla void funcion(char** pass) pero la verdad es que estoy bastante perdido.

Una mano por favor, necesito la sintaxis de como pasar el parametro.


Título: Re: Pasar array dinamico por referencia
Publicado por: aurquiel en 19 Noviembre 2016, 22:57 pm
Hay dos diferencias entre un array dinámico y otro estático, el estático se crea cuando compilas el código y es imposible cambiar su tamaño luego de declararlo, el dinámico se crea cuando estas corriendo el programa y es posible cambiar su tamaño en plena corrida.

EL título de tu tema es array dinámico, así que lo haré con un array dinámico, pero en tu explicación no dice nada sobre arrays dinámicos

//primero declaramos un array dinámico usando apuntadores y la palabra clave "new" que hace la misma funcion que malloc() de C

char *p=new char[10]; //lo que se hizo aqui fue crear un array de tamaño 10, notese que en ningun momento declaro el nombre del array esto es porque new busca una posicion libre de memoria donde crea el array y devuelve el apuntador del primer elemento

//ahora para pasarle un valor por referencia seria algo mas o menos asi ya que que tenemos el apuntador

p[0]="a"; //le pasmos un char
p[1]="b";
//....asi hasta llegar a 9
p[9]="n";

//ya pasamos los valores usando un apuntador al arreglo dinámico que se aloja en memoria mas no en una variable

delete [] p; //liberamos la memoria luego de usar, aqui borramos ese arreglo wipe out


Título: Re: Pasar array dinamico por referencia
Publicado por: Drewermerc en 20 Noviembre 2016, 02:31 am
puedes revisar este enlace (http://c.conclase.net/curso/?cap=015) ahí te explica como se hace una funcion y pasar parametro por valor y referencia.