C++ 结构体

C++ 结构体

C++中,类和结构体是用来创建类实例的蓝图。结构体用于轻量级对象,如矩形、颜色、点等。

与类不同,C++中的结构体是值类型而不是引用类型。如果您有不打算在创建结构体后修改的数据,这是非常有用的。

C++ 结构 是一种包含不同数据类型的集合。它类似于保存不同类型数据的类。

结构的语法

struct structure_name
{
     // member declarations.
} 

在上述声明中,通过在 struct关键字 之前跟随标识符(结构名)来声明一个结构。在花括号内,我们可以声明不同类型的成员变量。

考虑以下情况:

struct Student
{
    char name[20];
     int id;
     int age;
}

在上述情况下,Student是一个包含三个变量name、id和age的结构。当声明结构时,不分配内存。当创建结构的变量时,将分配内存。让我们理解这种情况。

如何创建结构的实例

结构变量可以定义为:

Student s;

这里,s是类型为 Student 的结构变量。当创建结构变量时,将分配内存。Student结构包含一个char变量和两个整数变量。因此,一个char变量的内存为1字节,而两个int变量为2 * 4 = 8。s变量占用的总内存为9字节。

如何访问结构的变量

可以通过使用结构实例后跟点(.)运算符再加上结构的字段来访问结构的变量。

例如:

s.id = 4;

在上述语句中,我们通过使用 点(.) 运算符来访问结构体Student的id字段,并将值4赋给该字段。

C++结构示例

让我们看一个结构体Rectangle的简单示例,它有两个数据成员width和height。

#include <iostream>  
using namespace std;  
 struct Rectangle    
{    
   int width, height;    

 };    
int main(void) {  
    struct Rectangle rec;  
    rec.width=8;  
    rec.height=5;  
   cout<<"Area of Rectangle is: "<<(rec.width * rec.height)<<endl;  
 return 0;  
}  

输出:

Area of Rectangle is: 40

C++结构体示例:使用构造函数和方法

让我们看一个结构体的另一个示例,其中我们使用构造函数来初始化数据,并使用方法来计算矩形的面积。

#include <iostream>  
using namespace std;  
 struct Rectangle    {    
   int width, height;    
  Rectangle(int w, int h)    
    {    
        width = w;    
        height = h;    
    }    
  void areaOfRectangle() {     
    cout<<"Area of Rectangle is: "<<(width*height); }    
 };    
int main(void) {  
    struct Rectangle rec=Rectangle(4,6);  
    rec.areaOfRectangle();  
   return 0;  
}  

输出结果:

Area of Rectangle is: 24

结构 v/s 类

结构体
如果未明确声明访问限定符,则默认访问限定符为public。 如果未明确声明访问限定符,则默认访问限定符为private。
结构体的语法: struct 结构体名称 { // 结构体的主体部分。 } 类的语法: class 类名 { // 类的主体部分。 }
结构体的实例称为”结构体变量”。 类的实例称为”类的对象”。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程