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

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  [?][C]Que diferencia hay en *-& en esta funcion pues eso
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [?][C]Que diferencia hay en *-& en esta funcion pues eso  (Leído 3,748 veces)
anonimo12121


Desconectado Desconectado

Mensajes: 1.813


Ver Perfil WWW
[?][C]Que diferencia hay en *-& en esta funcion pues eso
« en: 18 Febrero 2011, 21:38 pm »

void view(int &var,char* comentario)... en esto me sale la memoria que es creo...
y
void view(int var,char* comentario)... me sale 0x... los mismo en los 2
Citar
#include <iostream>
using namespace std;
void view(int &var,char* comentario){
     cout << &var <<"\t| " << var << "\t|" << comentario << "\n";
};
int main(int *argc,char *argv[]){
    int evento=555;
    int salida=999;
    cout << "Memoria" <<"\t\t|" << "Valor" << "\t|" << "comentarios\n";
    while(1){
             view(evento,"var para eventos");
             view(salida,"var comparacion con evento");
             cin >> evento;
             if(evento == salida) break;
    }
    cout << "salida del programa";
    cin.get();
    cin.get();
    return 0;
}


En línea

Página para ganar Bitcoins y Dinero: http://earnbit.hol.es/
Video de YouTube con Hack para el LoL: http://adf.ly/5033746/youtube-lolemuhack
Si quieres ganar dinero con adfly entra y registrate aquí -> http://adf.ly/?id=5033746
Garfield07


Desconectado Desconectado

Mensajes: 1.121


¡Este año voy a por todas! JMJ 2011


Ver Perfil WWW
Re: [?][C]Que diferencia hay en *-& en esta funcion pues eso
« Respuesta #1 en: 18 Febrero 2011, 21:46 pm »

La diferencia es que el primero manda la dirección de var y el segundo su contenido

Suerte!


En línea



* Quiero cambiar el mundo, pero estoy seguro de que no me darían el código fuente.
* No estoy tratando de destruir a Microsoft. Ese será tan solo un efecto colateral no intencionado.
* Si compila esta bien, si arranca es perfecto.

¡Wiki elhacker.net!
Un saludo
anonimo12121


Desconectado Desconectado

Mensajes: 1.813


Ver Perfil WWW
Re: [?][C]Que diferencia hay en *-& en esta funcion pues eso
« Respuesta #2 en: 18 Febrero 2011, 21:48 pm »

La diferencia es que el primero manda la dirección de var y el segundo su contenido

Suerte!
en la segunda de donde saca 0x22FF44 por poner un ejemplo de las 2 variables . que manda la direccion de la variable de la funcion?
En línea

Página para ganar Bitcoins y Dinero: http://earnbit.hol.es/
Video de YouTube con Hack para el LoL: http://adf.ly/5033746/youtube-lolemuhack
Si quieres ganar dinero con adfly entra y registrate aquí -> http://adf.ly/?id=5033746
Garfield07


Desconectado Desconectado

Mensajes: 1.121


¡Este año voy a por todas! JMJ 2011


Ver Perfil WWW
Re: [?][C]Que diferencia hay en *-& en esta funcion pues eso
« Respuesta #3 en: 18 Febrero 2011, 22:20 pm »

en la segunda de donde saca 0x22FF44 por poner un ejemplo de las 2 variables . que manda la direccion de la variable de la funcion?
No se te entiende nada...
Al usar & se manda la dirección de lo que pongas...
Por ejemplo
Código
  1. #include <stdio.h>
  2.  
  3. int main ()
  4. {
  5. int var = 1;
  6. printf ("Var [0x%08x] vale %d", &var, var);
  7.  
  8. return 0;
  9. }
  10.  

Suerte!
En línea



* Quiero cambiar el mundo, pero estoy seguro de que no me darían el código fuente.
* No estoy tratando de destruir a Microsoft. Ese será tan solo un efecto colateral no intencionado.
* Si compila esta bien, si arranca es perfecto.

¡Wiki elhacker.net!
Un saludo
Littlehorse
All the world's a stage
Moderador
***
Desconectado Desconectado

Mensajes: 2.714


Nie Dam Sie


Ver Perfil WWW
Re: [?][C]Que diferencia hay en *-& en esta funcion pues eso
« Respuesta #4 en: 18 Febrero 2011, 22:42 pm »


Código
  1. void view(int &var,char* comentario)

En esta función, "var" es una referencia. Es decir, las referencias actúan "como si fuesen" un puntero pero no lo son.  Desde el punto de vista del programador, "var" no apunta a "evento" si no que es "evento".

La dirección de memoria y el contenido de "var" es la misma que la de "evento" u la de "salida" o sea cual sea la variable entero que le pases a la función.

Código
  1. void view(int var,char* comentario)

En este caso, lo que se espera es solo un entero por valor. Por lo tanto "var" va a tener una dirección de memoria distinta que "evento" u "salida" pero si el mismo valor, por lo menos al momento de la llamada.

Citar
void view(int &var,char* comentario)... en esto me sale la memoria que es creo...
y
void view(int var,char* comentario)... me sale 0x... los mismo en los 2

Si en ambas llamadas te salen direcciones de memoria es porque en la función vos estas buscando imprimir la dirección de memoria de "var" y luego su valor.

Código
  1. cout << &var <<"\t| " << var << "\t|" << comentario << "\n";

Saludos
En línea

An expert is a man who has made all the mistakes which can be made, in a very narrow field.
anonimo12121


Desconectado Desconectado

Mensajes: 1.813


Ver Perfil WWW
Re: [?][C]Que diferencia hay en *-& en esta funcion pues eso
« Respuesta #5 en: 19 Febrero 2011, 00:39 am »

OK entendido. y unda duda más ya que estamos XDD que consume más un int* o un int? osea punteros o variables.

PD: si es largo de explicar da = ya busco informacion...
gracias por compartir la informacion.
En línea

Página para ganar Bitcoins y Dinero: http://earnbit.hol.es/
Video de YouTube con Hack para el LoL: http://adf.ly/5033746/youtube-lolemuhack
Si quieres ganar dinero con adfly entra y registrate aquí -> http://adf.ly/?id=5033746
Garfield07


Desconectado Desconectado

Mensajes: 1.121


¡Este año voy a por todas! JMJ 2011


Ver Perfil WWW
Re: [?][C]Que diferencia hay en *-& en esta funcion pues eso
« Respuesta #6 en: 19 Febrero 2011, 01:02 am »

OK entendido. y unda duda más ya que estamos XDD que consume más un int* o un int? osea punteros o variables.

PD: si es largo de explicar da = ya busco informacion...
gracias por compartir la informacion.

Pues exactamente lo mismo :P 4 y 4 bytes xD
En línea



* Quiero cambiar el mundo, pero estoy seguro de que no me darían el código fuente.
* No estoy tratando de destruir a Microsoft. Ese será tan solo un efecto colateral no intencionado.
* Si compila esta bien, si arranca es perfecto.

¡Wiki elhacker.net!
Un saludo
Littlehorse
All the world's a stage
Moderador
***
Desconectado Desconectado

Mensajes: 2.714


Nie Dam Sie


Ver Perfil WWW
Re: [?][C]Que diferencia hay en *-& en esta funcion pues eso
« Respuesta #7 en: 19 Febrero 2011, 01:13 am »

El tamaño depende de la arquitectura, no siempre va a ser 4 bytes.

Saludos
En línea

An expert is a man who has made all the mistakes which can be made, in a very narrow field.
Garfield07


Desconectado Desconectado

Mensajes: 1.121


¡Este año voy a por todas! JMJ 2011


Ver Perfil WWW
Re: [?][C]Que diferencia hay en *-& en esta funcion pues eso
« Respuesta #8 en: 19 Febrero 2011, 01:27 am »

Mmm, pero siempre van a ser los mismos. X es un puntero a un int. X es un int. Los punteros a una variable y la variable ocupan lo mismo, no? Corrígeme si me equivoco :P
_____________________________
Modf: Es pura coincidencia, toda clase de puntero ocupa cuatro bytes, que son 0xXXYYZZAA. Fallo mío.
En el caso del int y int * da la casualidad de que son iguales, pero no en los demás  :-[
En línea



* Quiero cambiar el mundo, pero estoy seguro de que no me darían el código fuente.
* No estoy tratando de destruir a Microsoft. Ese será tan solo un efecto colateral no intencionado.
* Si compila esta bien, si arranca es perfecto.

¡Wiki elhacker.net!
Un saludo
Littlehorse
All the world's a stage
Moderador
***
Desconectado Desconectado

Mensajes: 2.714


Nie Dam Sie


Ver Perfil WWW
Re: [?][C]Que diferencia hay en *-& en esta funcion pues eso
« Respuesta #9 en: 19 Febrero 2011, 01:49 am »

Mmm, pero siempre van a ser los mismos. X es un puntero a un int. X es un int. Los punteros a una variable y la variable ocupan lo mismo, no? Corrígeme si me equivoco :P
_____________________________
Modf: Es pura coincidencia, toda clase de puntero ocupa cuatro bytes, que son 0xXXYYZZAA. Fallo mío.
En el caso del int y int * da la casualidad de que son iguales, pero no en los demás  :-[

Los punteros ocupan lo necesario para almacenar direcciones de memoria, y no, no necesariamente tienen que tener el mismo tamaño del tipo de variable a la que pueden apuntar. De hecho, no podría ser nunca de esa manera, ¿Imaginas un puntero a char de 1 byte? no tendría la capacidad para almacenar la dirección de memoria correctamente.

El tamaño ya sea de los punteros u de cualquier otro elemento depende de la arquitectura y del modelo de datos utilizado. No es lo mismo un puntero en una arquitectura x86 que en una x64.

Para mas información:
http://en.wikipedia.org/wiki/64-bit

Saludos
En línea

An expert is a man who has made all the mistakes which can be made, in a very narrow field.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
es conveniente esta funcion?
Programación Visual Basic
elmaro 2 2,032 Último mensaje 15 Agosto 2006, 22:46 pm
por andoba
Que error hay en esta funcion php?
PHP
Alex_bro 4 2,216 Último mensaje 3 Septiembre 2007, 15:39 pm
por Alex_bro
Que OCX posee esta funcion (VB6)
Programación Visual Basic
ignorantev1.1 0 1,559 Último mensaje 7 Diciembre 2009, 18:43 pm
por ignorantev1.1
Firefox 30, en los pequeños detalles está la diferencia
Noticias
wolfbcn 0 1,265 Último mensaje 11 Junio 2014, 13:27 pm
por wolfbcn
8, 16 o 32 GB de RAM: esta es la diferencia de rendimiento jugando en PC
Noticias
wolfbcn 0 965 Último mensaje 19 Diciembre 2018, 21:38 pm
por wolfbcn
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines