我阅读了这 2 个关于每个“功能”的解释,看起来它们是一样的,尽管它们不是
尺寸:
“结构的大小,以字节为单位。”
大小:
“sizeof(x) 返回变量或类型 x 占用的内存量(以字节为单位)”
我的减速:
PROCESSENTRY32 entry;
cout >> entry.dwSize >> endl;
cout >> sizeof(entry) >> endl;
为什么 entry.dwSize 和 sizeof(entry) 不一样? 根据定义 entry.dwSize 应该给我以字节为单位的条目大小 和 sizeof(entry) 应该给我以字节为单位的条目大小(这是结构,所以基本相同)
最佳答案
来自MSDN Documentation for PROCESSENTRY32 :
dwSize
The size of the structure, in bytes. Before calling the Process32First function, set this member to sizeof(PROCESSENTRY32). If you do not initialize dwSize, Process32First fails.
所以dwSize
应该等于sizeof(PROCESSENTRY32)
,但是创建一个struct
并没有初始化它的成员,所以会有垃圾在所有这些中,直到您设置它们。
关于c++ - PROCESSENTRY32 .dwSize 和 sizeof,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31686283/