Dev - C++ - Punteros y referencias

 
Vista:
Imágen de perfil de belo
Val: 3
Ha disminuido su posición en 6 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Punteros y referencias

Publicado por belo (2 intervenciones) el 03/06/2020 09:40:56
Hola, soy nuevo por aquí y me embarcado este verano en aprender C y tengo una duda que no puedo entender.

¿Por qué el resultado de este programa, me devuelve en todos los casos direcciones de memoria diferentes, cuando en la función con punteros se supone que ataca directamente a las direcciones de memoria originales impresas en la función main?

Les agradecería mucho la ayuda.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <stdio.h>
 
int intercambio_punteros(int *, int*);
void intercambio(int, int);
 
void main(void)
{
        int a = 20, b = 30;
        printf("Antes de la función:\n");
        printf("a es %d y esta en %p\n", a, &a);
        printf("b es %d y esta en %p\n", b, &b);
 
        intercambio_punteros(&a, &b);
 
        intercambio(a, b);
}
 
int intercambio_punteros(int *x, int *y)
{
        printf("Durante la función punteros:\n");
        printf("x es %d y esta en %p\n", *x, &x);
        printf("y es %d y esta en %p\n", *y, &y);
}
 
void intercambio(int x, int y)
{
        printf("Después de la función sin punteros:\n");
        printf("x es %d y esta en %p\n", x, &x);
        printf("y es %d y esta en %p\n", y, &y);
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Punteros y referencias

Publicado por Nacho (181 intervenciones) el 03/06/2020 10:55:03
La función que hace lo que quieres es esta
1
2
3
4
5
6
7
int intercambio_punteros(int* x, int* y)
{
    printf("Durante la función punteros:\n");
    printf("x es %d y esta en %p\n", *x, x);
    printf("y es %d y esta en %p\n", *y, y);
    return 0;
}
:

Si no lo que imprimes es la dirección de memoria donde se guarda el puntero se se pasa a la función.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de belo
Val: 3
Ha disminuido su posición en 6 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Punteros y referencias

Publicado por belo (2 intervenciones) el 03/06/2020 18:15:15
Me encanta, muy agradecido Nacho
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar