Para que sirve el '&' en los parametros
#1

їPues, para que sirve colocar el signo & antes del nombre de un parametro?

Ejemplo:

PHP код:
GetVars(index, &Float:x, &Float:y, &Float:w, &Float:h, &color
Reply
#2

Es donde se guardarнa la informaciуn obtenida.

EJ:
GetPlayerHealth(playerid, &Float:health)

&Float:health = La variable en la que guardaremos la vida del jugador.

pawn Код:
new Float:Vida; //Nuestra variable.
GetPlayerHealth(playerid, Vida); //Guardaremos la vida del jugador en la variable "Vida"
//"Vida" ahora serб la vida del jugador, por EJ: 59.00
Espero que se entienda
Reply
#3

Quote:
Originally Posted by Edugta.
Посмотреть сообщение
Es donde se guardarнa la informaciуn obtenida.

EJ:
GetPlayerHealth(playerid, &Float:health)

&Float:health = La variable en la que guardaremos la vida del jugador.

pawn Код:
new Float:Vida; //Nuestra variable.
GetPlayerHealth(playerid, Vida); //Guardaremos la vida del jugador en la variable "Vida"
//"Vida" ahora serб la vida del jugador, por EJ: 59.00
Espero que se entienda
No, eso si lo se, lo que pregunto es que funciуn hace el sнmbolo '&' antes del nombre del parбmetro
Reply
#4

Le indica a la funcion que se devolvera un valor en dicho parametro, en vez de regresarlo con un return se regresa en dicho valor.
Reply
#5

Quote:
Originally Posted by xSDx
Посмотреть сообщение
Le indica a la funcion que se devolvera un valor en dicho parametro, en vez de regresarlo con un return se regresa en dicho valor.
Retornar un valor lo hace siempre (siempre que se indique, claro. Pero el & no tiene que ver con eso).
Reply
#6

Pasas el argumento por referencia, como indicу Edugta. la funciуn modifica el valor de la variable insertada como argumento dentro de su misma estructura.

pawn Код:
my_function(&reference)
{
     reference++;
}
main()
{
    new i = 1;
    my_function(i);
    printf("El valor de i es igual a: %d.", i);
    // Esto imprimirб: El valor de i es igual a: 2.
}
Reply
#7

El & antes del argumento quiere decir que harб referencia a ese argumento, en otras palabra: va a usar esa variable, modificandolo para luego usar esa variable ya modificada... soy un poco manco para explicar pero un ejemplo vale mas que mil explicaciones.

Te dare un ejemplo y espero que entiendas...

pawn Код:
//Esto seria sin el & antes del parametro
main()
{
    new Un_Valor;
    Un_Valor = 100;
   
    Sumar(Un_Valor);//Se envia el valor de la variable, que es 100
    printf("%i", Un_Valor);//Imprime el valor de la variable que es 100(No se modifico en Sumar())
}

stock Sumar(valor)
{
    valor = valor + 100;
}
pawn Код:
//Esto seria con el & antes del parametro
main()
{
    new Un_Valor;
    Un_Valor = 100;

    Sumar(Un_Valor);//Se envia el valor de la variable, que es 100
    printf("%i", Un_Valor);//Imprime el valor de la variable que es 200(Ya que se modifico en Sumar())
}

stock Sumar(&valor)
{
    valor = valor + 100;
}
Espero haberme explicado bien..
Reply
#8

OH ya entendн, muchas gracias a todos.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)