21xrx.com
2024-12-23 01:47:05 Monday
登录
文章检索 我的文章 写文章
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++开发中使用结构体提供一定的帮助。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复