21xrx.com
2025-03-26 07:22:46 Wednesday
文章检索 我的文章 写文章
C和C++的结构体(struct)
2023-06-22 10:40:50 深夜i     11     0
C语言 C++语言 结构体(struct) 数据类型 指针

C和C++是两种广泛使用的编程语言,它们都使用结构体(struct)作为一种数据结构,用于组织一组相关数据。在本文中,我们将探讨C和C++中结构体的定义、初始化和使用方法。

首先,让我们看一下结构体的定义。在C中,结构体可以通过以下方式定义:

struct Person {
  char name[20];
  int age;
  float weight;
};

在上面的例子中,我们定义了一个Person结构体。它包含三个成员变量:name、age和weight。每个成员变量的数据类型可以是任意的,但是它们的类型必须在结构体定义的前面声明。

在C++中,定义结构体与定义类类似。以下是一个例子:

struct Person {
  private:
    char name[20];
    int age;
    float weight;
  public:
    // constructor
    Person(const char* n, int a, float w) {
      strcpy(name, n);
      age = a;
      weight = w;
    }
    // getter methods
    char* getName() return name;
    int getAge() return age;
    float getWeight() return weight;
};

上面的例子中,我们定义了一个Person结构体,并声明了三个成员变量:name、age和weight。与C不同的是,C++还允许在结构体中定义方法和构造函数,以及使用public和private访问控制符来限制成员变量的可见性。

一旦我们定义了结构体,就可以使用它来创建变量。以下是一个在C中创建结构体变量的例子:

int main() {
  struct Person person1 = 30;
  struct Person person2;
  person2.name = "Jane Doe";
  person2.age = 25;
  person2.weight = 60.8;
  return 0;
}

我们可以看到,我们可以使用结构体变量的成员变量来访问它的数据。我们也可以使用赋值语句来初始化结构体变量。

在C++中,我们使用以下方式创建结构体变量:

int main() {
  Person person1("John Smith", 30, 75.4);
  Person person2("Jane Doe", 25, 60.8);
  return 0;
}

我们可以使用构造函数来初始化结构体变量,也可以使用成员函数来访问它的数据。

总结起来,结构体是C和C++中一种非常有用的数据结构。它允许我们组织一组相关数据,并通过成员变量来访问它们。在C中,我们使用struct关键字来定义结构体,而在C++中,我们可以使用类定义结构体。在两种语言中,我们都可以使用赋值语句来初始化结构体变量,并使用成员变量和方法来访问结构体中的数据。

  
  

评论区