关于结构体,下面说法正确的有哪些? 函数中结构体作为参数,函数内参数属性的改变会改变影响原来对象的属性 结构体可以内嵌其他结构体,从而达到类似于继承的效果 创建的结构体中必须含有字段和该字段类型 空结构体 struct{} 实例不占据任何的内存空间
时间: 2024-07-01 17:00:23 浏览: 115
在 C 语言中,关于结构体的描述,下面的说法是正确的:
1. 函数中结构体作为参数,如果函数内部对结构体成员进行了修改,这些更改会影响到原始对象,因为没有使用 const 关键字阻止了对结构体的直接修改。这是结构体引用传递(pass by reference)的性质。
2. 结构体可以内嵌其他结构体,这种嵌套结构实现了数据的组合,但并不等同于类之间的继承。在 C 语言中,结构体间的关系更像是组合,而非面向对象中的继承。
3. 创建结构体时,虽然不是强制性的,但通常会包含至少一个字段,并指定其类型,用于存储数据。
4. 空结构体 `struct {}` 实例的确不占据任何的内存空间,因为它们没有实际的数据成员,所以它们主要用于定义类型,而不是存储数据。
阅读全文