Red de conocimiento informático - Computadora portátil - Programación de conversión de tres variables en lenguaje C

Programación de conversión de tres variables en lenguaje C

Acabo de probar una solución a este problema, pero solo funciona con punteros.

Primero, definimos char.

A, B;

Definición continua, la razón de esto es mantener A y b.

Las direcciones de almacenamiento

son consecutivas.

Aquí hay otro problema. El tipo char ocupa un byte.

(Igual que Organizaciones internacionales) Organizaciones internacionales

El tipo ocupa 4 bytes.

Entonces, uso corto

(Igual que las organizaciones internacionales) Organizaciones internacionales

El siguiente es el código específico, consúltelo.

#Incluye

ltstdio.h gt

(Igual que Organizaciones Internacionales) Organizaciones Internacionales

Principal()

{

a

=

0x12, b

=

0x34

printf("x, x\n ", a, b);

Corto

(Igual que Organizaciones internacionales) Organizaciones internacionales

*p

=(corto

int*)

ampb;

corto

(Igual que organizaciones internacionales) Organizaciones internacionales

c

=

* p;

printf("x\n ", c) ;

}

Aquí también quiero explicar por qué le asigné la dirección de B al puntero p.

En lugar de la dirección de a, porque la memoria ocupada por las variables definidas en la función está en la pila y la definición de la variable está en la pila

Dirección de almacenamiento

Es de abajo hacia arriba.

¡Así que la dirección de memoria también se hará más pequeña!

Aquí utilicé la técnica del acceso fuera de límites a la memoria. ¡No hagas esto en la programación normal! ¡Propenso a errores!

Si tienes alguna duda, ¡puedes seguir preguntando!