如何在 c 中通过变量的内存地址访问、更改和打印变量?
How to access , change and print a variable by its memory adress in c?
假设我有一个整数变量 (var),它的内存地址是 1234f,但我不知道这个变量的名称,我想看看内存地址 1234f 有什么值,然后打印出来出来还是换吧。有什么可能的方法可以在 c 中做到这一点吗?
How to access , change and print a variable by its memory address in c?
假设地址值有效:
先创建一个int *
.
int *var_pointer = (int *) 0x1234f;
printf("%d\n", *var_pointer);
*var_pointer = 42;
printf("%d\n", *var_pointer);
如果地址无效,结果是未定义的行为 (UB)。
假设我有一个整数变量 (var),它的内存地址是 1234f,但我不知道这个变量的名称,我想看看内存地址 1234f 有什么值,然后打印出来出来还是换吧。有什么可能的方法可以在 c 中做到这一点吗?
How to access , change and print a variable by its memory address in c?
假设地址值有效:
先创建一个int *
.
int *var_pointer = (int *) 0x1234f;
printf("%d\n", *var_pointer);
*var_pointer = 42;
printf("%d\n", *var_pointer);
如果地址无效,结果是未定义的行为 (UB)。