elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Tipos Valor y Tipos Referencia(Solucionado)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Tipos Valor y Tipos Referencia(Solucionado)  (Leído 2,180 veces)
Senior++


Desconectado Desconectado

Mensajes: 957

Ama y haz lo que te de la gana


Ver Perfil
Tipos Valor y Tipos Referencia(Solucionado)
« en: 3 Noviembre 2014, 17:14 pm »

Bueno resulta que estaba "explorando" un foro y un usuario dijo esto:

int variableUno;
variableuno= 57

int variableDos;
variableDos = variableUno
variableUno++


VariableUno crea un espacio en memoria y luego le asigna el valor 57 (hasta aquí estoy de acuerdo)
variableDos crea una espacio en memoria y luego le asigna el valor de variableUno(57)

VariableUno tiene el valor 58 en memoria
variableDos tiene el valor 57 en memoria
Hasta aquí todo perfecto

Pero en este codigo cambia la cosa

int variableUno;
variableuno= 57
variableUno++
int variableDos;
variableDos = variableUno

VariableUno tiene el valor 58 en memoria
variableDos tiene el valor 57 en memoria

osea eso esta mal no? es decir tendria que tener 58 los dos no?


« Última modificación: 3 Noviembre 2014, 20:48 pm por Senior++ » En línea

Vendo cuenta de LEAGUE OF LEGENDS lvl 30, EU west, muy barata
El Benjo


Desconectado Desconectado

Mensajes: 390



Ver Perfil WWW
Re: Tipos Valor y Tipos Referencia
« Respuesta #1 en: 3 Noviembre 2014, 19:34 pm »

Sí, así es. No entiendo por qué la duda me refiero a que bastaría con hacer el programa (en cualquier lenguaje) y la respuesta ahí está. Es decir si cualquiera de los dos tiene la duda de qué es lo que pasa, sólo tiene que escribir el código y ejecutar.

MODIFICADO: No entiendo por qué el título de tu post si nunca haces la comparación entre valor y referencia.

Quizá lo que te estés preguntando sea por ejemplo sobre asignar la dirección de una variable en una variable de tipo referencia (como un puntero en C/C++). Si la variableDos fuera un puntero y le asignas la dirección de variableUno entonces su valor no cmabia cuando el valor de la variableUno cambia, pero nunca contiene el valor '57' sino la dirección de la variableUno.

Si necesita más información lee sobre punteros.


« Última modificación: 3 Noviembre 2014, 19:39 pm por El Benjo » En línea

www.es.neftis-ai.com

Sí hay un mejor lenguaje de programación y es ese con el que puedes desarrollar tus objetivos.
Senior++


Desconectado Desconectado

Mensajes: 957

Ama y haz lo que te de la gana


Ver Perfil
Re: Tipos Valor y Tipos Referencia
« Respuesta #2 en: 3 Noviembre 2014, 20:13 pm »

Sí, así es. No entiendo por qué la duda me refiero a que bastaría con hacer el programa (en cualquier lenguaje) y la respuesta ahí está. Es decir si cualquiera de los dos tiene la duda de qué es lo que pasa, sólo tiene que escribir el código y ejecutar.

MODIFICADO: No entiendo por qué el título de tu post si nunca haces la comparación entre valor y referencia.

Quizá lo que te estés preguntando sea por ejemplo sobre asignar la dirección de una variable en una variable de tipo referencia (como un puntero en C/C++). Si la variableDos fuera un puntero y le asignas la dirección de variableUno entonces su valor no cmabia cuando el valor de la variableUno cambia, pero nunca contiene el valor '57' sino la dirección de la variableUno.

Si necesita más información lee sobre punteros.
:rolleyes:

El titulo del post, me equivoque  :xD

entonces estoy en lo cierto no?osea si llamamos las 2 variables deberian de devolver las dos 58

En este ejemplo esta mas que claro:

Código:
int i;
            int j;

            i = 1;
            j = i;
            i++;
            j--;
            Console.WriteLine(String.Format("i={0} j={1}", i, j));

            // i=2 j=0, porque al asignar j=i, lo que hacemos es
            // una copia de su contenido.

            Console.ReadKey();

Por que los tipos valor, siempre actuan INDEPENDIENTE el uno del otro, y claro al ver eso en un foro que de hecho es un CURSO, me dolía hasta los ojos  :laugh:
En línea

Vendo cuenta de LEAGUE OF LEGENDS lvl 30, EU west, muy barata
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.708



Ver Perfil
Re: Tipos Valor y Tipos Referencia
« Respuesta #3 en: 3 Noviembre 2014, 20:40 pm »

entonces estoy en lo cierto no?osea si llamamos las 2 variables deberian de devolver las dos 58

Sí. Podrías haberlo comprobado por ti mismo como ya te han comentado.

Saludos
En línea


Senior++


Desconectado Desconectado

Mensajes: 957

Ama y haz lo que te de la gana


Ver Perfil
Re: Tipos Valor y Tipos Referencia
« Respuesta #4 en: 3 Noviembre 2014, 20:42 pm »

Sí. Podrías haberlo comprobado por ti mismo como ya te han comentado.

Saludos
Claro,me dejo en duda, pero bueno ya lo habia probado yo :xD


Bueno tema solucionado, vaya fail  :rolleyes:
En línea

Vendo cuenta de LEAGUE OF LEGENDS lvl 30, EU west, muy barata
DarK_FirefoX


Desconectado Desconectado

Mensajes: 1.250


Be the change you wanna see in te world


Ver Perfil
Re: Tipos Valor y Tipos Referencia(Solucionado)
« Respuesta #5 en: 4 Noviembre 2014, 01:38 am »

osea eso esta mal no? es decir tendria que tener 58 los dos no?

Exactamente como dices ambos valores debieron ser iguales.

Y como bien dice El Benjo, si quieres puedes eplorar los conceptos básicos sobre punteros en C/C++ para entender un poquito más como se trabaja con las direcciones de memoria.

Una sugerencia para tu codigo aqui:

Código
  1. int i;
  2. int j;
  3.  
  4. i = 1;
  5. j = i;
  6. i++;
  7. j--;
  8. Console.WriteLine("i={0} j={1}", i, j);
  9.  
  10. /*AQUÍ EN ESTA ^ LINEA NO NECESITABAS
  11. * EL MÉTODO string.Format() PARA UTILIZAR LOS
  12. *PLACEHOLDERS {#} EN EL MÉTODO Console.WriteLine().
  13. *Solo una sugerencia!*/
  14.  
  15. // i=2 j=0, porque al asignar j=i, lo que hacemos es
  16. // una copia de su contenido.
  17.  
  18. Console.ReadKey();
« Última modificación: 4 Noviembre 2014, 01:53 am por DarK_FirefoX » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Valor y tipos de datos
Java
Erik# 0 1,365 Último mensaje 21 Septiembre 2008, 19:56 pm
por Erik#
Tipos de datos en un DataGridView ¿como conservarlos? [Solucionado]
.NET (C#, VB.NET, ASP)
Xavelets 1 5,621 Último mensaje 5 Septiembre 2011, 14:03 pm
por Xavelets
Tipos de paso por referencia y paso por referencia de tipo apuntador
Programación C/C++
CATBro 3 2,078 Último mensaje 8 Abril 2012, 08:23 am
por Beakman
Tipos de MITM
Hacking Wireless
mester 6 4,520 Último mensaje 16 Marzo 2015, 16:28 pm
por mester
Tipos primitivos y tipos por referencia
Java
FermatsTheorem 4 1,361 Último mensaje 17 Julio 2016, 19:13 pm
por FermatsTheorem
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines