我试图弄清楚我的结构将占用多少内存。请考虑以下代码

   struct tNode{
       short data;
       tnode *left;
       tnode *right;
       tnode *student;
 }


所以我知道data是2个字节,但是*left*right*student呢,它们会消耗多少内存以及如何计算它。

最佳答案

您正在寻找sizeof operator


  返回类型的对象表示形式的大小(以字节为单位)


用法示例:

#include <iostream>

class tnode;

struct tNode {
       short data;
       tnode *left;
       tnode *right;
       tnode *student;
};

int main()
{

  std::cout << sizeof(tNode) << std::endl;
  return 0;
}


我的机器上的输出:

32

关于c++ - 找出结构的内存消耗,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55207550/

10-11 16:25