复杂的数据类型(结构)

本文介绍了C++中的结构体类型,包括如何定义结构体、结构体在处理多属性数据时的应用,以及结构体与指针的结合使用。通过示例展示了如何初始化结构体变量,以及如何通过指针访问结构体成员。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

对象的基础-结构

结构( Structure)是一种由程序员定义的、由其他变量类型组合而成的数据类型。

  • 定义一个结构的基本语法是
 struct name       {
           type varname1;
           type varname2;        };

结构的应用

当需要处理一些貝有多种属牲的数据时,结构往往是很好的进择。

  1. 例如当我们在编写一个档案管理程序时,涉及到的基本特征有:姓名、身份证、性别。。。
      struct Fishoil   
              {
                    std:: string name;
                    std: string uid;
                    char sex;     // F==Female, M==Male    
               }
  • 注意:C++对于一个结构所能包含的变量的个数是没有限制的,那些变量通常我们成为该结构的成员,他们可以是任意一种合法的数据类型。

回到刚才的例题,在定义了一个结构之后,就可回以使用如下所示的语法来创建该类型的变量了:

  Fishoil Jiayu;//创建一个 Fileoil结构类型Jiayu
  Jiayu.name="小甲鱼“; 
  Jiayu.uid="fish_00000";
  Jiayu.sex ='M';
  • 用“.“对结构成员进行赋值
    如果我们在创建一个结构类型变量的时候就已经知道它各个成员相关的值,我们可以在声明新变量的同时进行赋值。
    Fishoil Jiayu={“小甲鱼“,” fish_00000",‘M’}

结构与指针

在C、C++里,指针无所不能,也可以指向结构,就像指向其他任何变量那样。

  • 创建一个指向该结构的指针: Fishoil *pJiayu =&Jiayu;

  • 注意:因为指针的类型必须与指向的地址的变量的类型一致,所以 jiayu指针的类型也是 Fishoil。

  • 我们可以通过对指针进行解引用来访问相应的变量值

  (* pJiayu).name="黑夜“;
  (pJiayu).id ="fish_00001";
  • 可以换用第二种方法:
   pJiayu->name=“黑夜“;   
   pJiayu ->id ="fish_00001";   
   pJiayu-> sex =F;   
   std::cout << pJiayu-> name;   
   std::cout<< pJiayu ->id;   
   std::cout << pJiayu ->sex;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值