首先只是编译好的程序是以二进制的方式保存在硬盘上的,如exe,dll等。
2:程序运行时被加载解析到内存,这个时候变量保存就比较复杂了。
3:如果是全局变量和静态成员会被保存在数据段内。
4:变量不管是C#,C++ ,VB神马的,一般内成员变保存在栈中,如果成员变量是指针,那指针本身保存在SP寄存器中(堆栈指针寄存器)。指针成员指向的对象可能保存在堆栈中(普通如&int char等是在栈中,自定义类对象的话是在堆中)
5:当然数据保存可以人为用代码控制,汇编可以放入各种寄存器中,C++也做的到,然后就是系统本身会主动移动变量保存的位置,例如对一些运算频率高的变量代码等会被放入高速缓冲寄存器中。当然这个要看系统自己处理了。