¿Cómo utilizar punteros en lenguaje C para cambiar datos en cualquier dirección de memoria?
En los días de DOS, podías
definir un puntero *p
cambiando p a la dirección de memoria que deseabas.
(Tenga en cuenta que en la mayoría de los casos esta dirección es una dirección desplazada (ver ensamblaje))
Puede cambiar el valor de *p para cambiar los datos en esta dirección
p>
Si desea solicitar una dirección de memoria arbitraria
Utilice la instrucción asm para llamar a la instrucción ensambladora para cambiar la dirección
En la era de Windows, ya no es posible acceder a direcciones de memoria arbitrarias.
Windows ya no puede acceder a la dirección del hardware (por razones de seguridad) y, por tanto, a la dirección de la tarjeta gráfica.