21xrx.com
2025-03-23 13:21:29 Sunday
文章检索 我的文章 写文章
C++中结构体的用法详解
2023-06-24 08:48:00 深夜i     --     --
C++ 结构体 用法 详解

C++中的结构体是一种自定义的数据类型,可以用于存储不同类型的数据,与数组不同的是,结构体可以同时存储不同类型的数据,包括整型、浮点型、字符型等多种不同类型的数据。本篇文章将详细介绍C++中结构体的用法。

1. 结构体的定义

在C++中定义结构体的语句为:

struct 结构体名
  数据类型1 变量名1;
  数据类型2 变量名2;
  …
;

其中,结构体名为自定义的名称,数据类型可以是整型、浮点型、字符型等任意数据类型。变量名是该结构体中的一个成员,可以是任意名称。

例如,定义一个包含两个成员的结构体:

struct student{
  int ID;
  char name[20];
};

该结构体包括了一个整型变量ID和一个字符数组name。

2. 结构体的声明和赋值

定义好结构体后,我们需要声明一个结构体变量才能使用它。声明一个结构体变量的语句为:

struct student s;

这样就声明了一个名为s的结构体变量,其中包含了ID和name两个成员。

结构体成员变量是独立的,可以通过“.”来访问其成员变量。例如:

s.ID = 1001;
strcpy(s.name, "Tom");

这里将结构体变量s的成员ID赋值为1001,将成员name赋值为“Tom”。

3. 结构体数组

可以定义一个结构体数组来存储多个结构体。例如:

struct student s[5];

这将定义一个包含5个元素的结构体数组,每个元素都包含ID和name两个成员。

可以使用循环对结构体数组进行赋值:

for(int i=0; i<5; i++){
  s[i].ID = 1001+i;
  sprintf(s[i].name, "Tom%d", i+1);
}

4. 结构体指针

和其它变量一样,结构体也可以有指针类型。通过定义结构体指针可以方便地操作结构体成员,可以使用“->”来访问结构体成员变量。例如:

struct student *p;
p = &s[0];
p->ID = 1005;
strcpy(p->name, "John");

这里定义了一个结构体指针p,指向第一个元素s[0]的地址。通过指针p可以修改s[0]中的ID和name。

5. 结构体作为参数

结构体可以作为函数的参数进行传递。例如:

void print(struct student s)
  cout << s.ID << " " << s.name << endl;

该函数将输出一个结构体变量s中的ID和name。

6. 结构体作为返回值

结构体也可以作为函数的返回值使用。例如:

struct student get_student(){
  struct student s;
  s.ID = 1001;
  strcpy(s.name, "Tom");
  return s;
}

该函数返回一个结构体变量s,包含ID和name两个成员。

在本篇文章中,我们对C++中结构体的用法进行了详解和讲解,包括结构体的定义、声明和赋值、结构体数组、结构体指针、结构体作为参数和返回值等方面。希望本文能为读者们在C++开发中使用结构体提供一定的帮助。

  
  

评论区