c++ struct结构体的用法

在 C++ 中,struct(结构体)是一种用户自定义的数据类型,可以用来组合不同类型的数据。结构体的使用非常广泛,尤其在需要将多个相关的数据组合在一起时。

定义结构体

使用 struct 关键字定义一个结构体的基本语法如下:

struct StructName {
    // 数据成员
    DataType member1;
    DataType member2;
    // ...
};

示例

下面是一个简单的示例,展示了如何定义和使用结构体:

#include 
#include 

struct Person {
    std::string name;
    int age;
    float height;
};

int main() {
    // 创建结构体变量
    Person person1;

    // 给结构体成员赋值
    person1.name = "Alice";
    person1.age = 30;
    person1.height = 5.5;

    // 输出结构体成员
    std::cout << "Name: " << person1.name << std::endl;
    std::cout << "Age: " << person1.age << std::endl;
    std::cout << "Height: " << person1.height << " feet" << std::endl;

    return 0;
}

结构体的初始化

可以在定义结构体变量时直接进行初始化:

Person person2 = {"Bob", 25, 6.0};

结构体数组

可以创建结构体的数组来存储多个相同类型的结构体:

Person people[3] = {
    {"Alice", 30, 5.5},
    {"Bob", 25, 6.0},
    {"Charlie", 28, 5.8}
};

结构体作为函数参数

结构体可以作为函数参数传递:

void printPerson(const Person& p) {
    std::cout << "Name: " << p.name << ", Age: " << p.age << ", Height: " << p.height << " feet" << std::endl;
}

int main() {
    Person person = {"Alice", 30, 5.5};
    printPerson(person);
    return 0;
}

结构体与类的区别

  • 默认访问权限:在 struct 中,成员的默认访问权限是 public,而在 class 中,默认访问权限是 private
  • 用途struct 通常用于简单的数据结构,而 class 用于封装更复杂的对象及其行为。

示例:包含函数的结构体

C++ 的结构体不仅仅可以包含数据成员,也可以包含成员函数:

struct Rectangle {
    float width;
    float height;

    float area() {
        return width * height;
    }
};

int main() {
    Rectangle rect = {10.0, 5.0};
    std::cout << "Area: " << rect.area() << std::endl;
    return 0;
}

总结

struct 是 C++ 中一个非常有用的特性,适用于组织和管理相关数据。它可以与类同样使用,并且可以包含数据和函数。通过使用结构体,可以有效地解决和管理复杂的数据结构。

你可能感兴趣的:(c++,开发语言,struct)