当前位置:首页 > 内存 > 正文

类在内存中如何存放

  • 内存
  • 2024-08-19 20:23:08
  • 5626

一、c语言数据类型的数据在内存中如何存储?(1)社区共享记忆中的空间。
(2)存储空间的大小由社区中占用存储空间最大的变量决定。
(3)输出时,根据相应的类型进行数值分析。
int占4个字节
char占1个字节
double占8个字节
所以data占用的空间是8个字节。
data.a=5;存储在内存中的是二进制格式。计算机从内存中检索信息如下:
00000101000000000000000000000XXXX(XXXX代表前四个字节,未初始化的数据,因此值可能不确定)
此信息:被认为是双精度数据解释:一位符号+11位指数位(移位)+52位小数
0
(00001010000)Shift=(E)原+1023E=-943
也就是说:data.c=1。x*2^-943约等于0


二、java中使用类创建对象后,该对象的方法在堆内存中是怎样存储的?该方法并不在内存堆栈中,而是放在代码区中。堆栈记录。只有新的内容才会存储在内存中。
你可以看看编译原理相关的书籍,这个问题就会变得更加清晰。


三、c++中,没有成员变量的类生成的对象,是如何在内存中存储的包括虚拟成员函数,函数的地址并不存储在对象的内存中。具有虚函数的对象存储的是指向虚函数表的指针,而不是虚函数本身的地址。函数的地址不会存储在对象的内存中。非虚函数可以在编译时确定调用哪个函数,并直接生成调用该函数的代码。虚函数是比较复杂一点的过程。在程序集级别没有类和对象的概念。C++的成员函数也是常规函数,只不过编译器帮我们处理了成员函数和常规函数之间的映射关系。