variables con &

Iniciado por pedroedlp, 13 Octubre 2015, 01:36 AM

0 Miembros y 1 Visitante están viendo este tema.

pedroedlp

Hola no entiendo que significa declarar una variable usando el amperson

int a;
int &b=a;



Eternal Idol

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón

HardForo

#2
Buen consejo el que te dieron... y somos dos que debemos leer, sin embargo te aporto algo:


#include <stdio.h>


int main(void)
{
int a = 8;

int b= (int) &a;  // b = direccion de memoria de a
int *c= (int*) a; // c = apuntador a la variable a

printf("La direccion de memoria de a es %d\n",&a);
printf("b = %d\n",b);
printf("c = %d\n",c); // 8

a = 10; // cambia
printf("c = %d\n",c); // 10 <-- cambia
}
}


Ya ves, & te da la direccion de memoria de una variable y * te permite declarar una variable como tipo puntero (apuntador)

Lo que escribiste no tiene sentido........ pero si miras el ejemplo veras varias cosas como que cuando preguntas por c te da el contenido de a, eso hacen los apuntadores!

Otro ejemplo:


#include <stdio.h>

int main(void)
{
int a[2] = {8,10};
int *p= (int*) a;

printf("p = %d\n",p[0]);   // 8

*p++;  // <-- movi el puntero
printf("p = %d\n",p[0]);   // 10
}
HardForo:  foro de Hardware y programación

Se buscan Mods y colaboradores *

ivancea96

Cita de: boctulus en 17 Abril 2016, 20:15 PM
Lo que escribiste no tiene sentido........ pero si miras el ejemplo veras varias cosas como que cuando preguntas por c te da el contenido de a, eso hacen los apuntadores!

Sí, sí que tiene. Está declarando la variable como una lvalue, que viene siendo como un alias en este caso.

Y fíjate en la fecha del último mensaje. No reabras temas antiguos.

HardForo

No veo la razon de no re-abrir temas....... pero ya dirá el moderador presente

Por otro lado...... gracias...... no sabia lo que me comentas, siempre aprendiendo algo nuevo con tu ayuda.
HardForo:  foro de Hardware y programación

Se buscan Mods y colaboradores *

ivancea96

Cita de: boctulus en 17 Abril 2016, 20:37 PM
No veo la razon de no re-abrir temas....... pero ya dirá el moderador presente

La razón son las reglas del foro: http://foro.elhacker.net/reglas.htm#h.d50aa9d0a8e6
CitarCuando nadie haya participado en un tema durante un periodo mayor a 60 días no se deberá volver a participar en el tema si no es para preguntar algo exclusivamente referente a lo comentado en este y que no esté claro.

Eternal Idol

Como dice ivancea96, cierro.
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón