首页 > 试题广场 >

struct T {},sizeof(struct T)的值

[单选题]
对于C++, struct T {},sizeof(struct T)的值为()

  • 4
  • 1
  • 0
  • 编译或运行期错误
若结构体为空,其大小为1;若不为空,结构体的存储比较复杂,需要考虑内存存储的字节对齐。
发表于 2018-09-08 18:10:29 回复(1)
c是0,c++是1
发表于 2020-08-31 12:40:47 回复(0)
初学者,真的是学到了。
C++语言中的确规定了空结构体和空类所占内存大小为1,而C语言中空类和空结构体占用的大小是0。
C++语言标准中规定了这样一个原则:“no object shall have the same address in memory as any other variable”,即任何不同的对象不能拥有相同的内存地址。
发表于 2022-03-29 10:29:23 回复(0)

编译器运行结果是0

发表于 2018-09-12 16:41:35 回复(4)
所以是按c还是按c艹?
发表于 2021-06-02 00:37:32 回复(1)
在VS2019下测得空结构体是1字节。
和类有些像,空类的大小也是1字节。
发表于 2020-08-26 14:31:35 回复(0)
c++中规定,空类的大小为1;因为struct定义时,如果里面有方法的则他就是一个类,没有方法,就是一个结构体,又因为我们在计算其空间时,只计算其中的成员变量名而不计算其中的成员方法,因而可以得出,无方法的类和无方法的结构体计算大小方法机制是相同的
发表于 2023-04-18 09:16:43 回复(0)
1. 首先明确 sizeof 操作符的作用: -  sizeof 用于获取数据类型或变量所占用的字节数。 2. 对于空结构体 struct T {} : - 在C++标准中规定,空结构体(没有任何成员变量)的大小至少为1字节。这是为了保证结构体对象在内存中有唯一的地址。 - 即使它不存储任何实际的数据,编译器也会给它分配1个字节的空间。 所以 sizeof(struct T) 的值为1,答案是B。
发表于 2024-10-25 09:53:52 回复(0)
结构体跟类是比较像的,如果里面没有成员的话,默认时1个字节的大小,黑马老师讲的
发表于 2022-06-28 21:03:52 回复(0)
空类是1,空结构体为0
发表于 2022-01-28 14:14:51 回复(0)
这题没意思,c里面是0

发表于 2019-08-22 19:10:22 回复(0)