C++结构体与进程管理:详解与实例

0 下载量 197 浏览量 更新于2024-08-04 收藏 20KB DOCX 举报
在C++中,结构体是一种用户自定义的数据类型,它允许我们将不同类型的数据打包在一起,形成一个单独的对象。这里有两个相关的结构体示例: 1. 首先,我们有一个名为`struct MyStruct`的结构体,它包含以下成员: - `int num;`:一个整数变量。 - `double db = 10.8;`:一个带有默认值的双精度浮点数。 - `MyStruct *pNext` 和 `MyStruct *phead`:指针成员,用于连接多个`MyStruct`对象形成链表。 - `lstruct l1;`:嵌套的`lstruct`类型。 - `void boss()`:一个成员函数,表示该结构体对象具有某些操作。 在`main()`函数中,展示了如何创建`MyStruct`对象`s1`,使用`new`关键字手动分配内存,并访问其成员变量。还演示了结构体之间的整体赋值,以及C++风格的初始化方法。 2. 紧接着是另一个结构体,`struct sx`和`struct sy`,它们都是匿名的,这意味着它们没有名字,但仍然可以通过它们的别名(如`s1`)进行操作。这两个结构体都有`int num`和`double db`,但`db`没有显式赋初值,这会导致编译错误,因为C++要求未初始化的成员必须使用花括号{}来提供默认值。 3. 空类(`class kong`)是一个特殊的概念,它不包含任何数据成员,仅有一个公共成员函数`void go(int num)`。空类占用一个字节的存储空间,主要用于表明类的存在,即使它没有任何实际内容。在`main()`函数中,通过`sizeof(kong)`来查看空类占用的内存大小,以及通过`.`运算符访问其成员函数。 总结起来,这部分内容介绍了C++中的结构体和空类的概念,包括结构体的定义、成员变量、初始化、链表操作,以及空类的简单用法。这些是编写高效、灵活的C++程序的基础组成部分。理解并熟练运用结构体有助于组织数据和提高代码的可读性。