第五章 结构

struct:结构体structure

c++中的几个基本类型如 int/char/short,float/double,数组,指针,但是还是不够用,将基本类型组合起来,新形成的数学据类型,称为“自定义类型”
例:

struct student  //struct是关键字  后面是新类型的名字
{
                 //接下来会有很多成员,花括号里面是一系列成员变量
  int id;      //成员定义的方式和普通定义的方式一样
  char name[16];
  char phone[16];注意  定义成员用“;”赋初始值用“,”
}结构体变量表;  //可以同时定义多个结构体变量,需要用“,”隔开,**最后“;”不要漏掉**

struct:结构体

定义一个变量(利用上面所定义的)接着
(1)定义一个变量
student c;
(2)定义数组
student c[111];
(3)指针
student *p=&c;
(4)作为函数参数
void test (student c);
(5)作为返回值类型
student make (int id)

(1) 变量定义和初始化

定义一个变量

student a;//定义一个变量,不给初始值

定义时初始化:用大括号,将各个成员***按顺序***的初始值列出。(对比二维数组初始化)

struct student  
{
                 
  int id;      
  char name[16];
  char phone[16];
}; 
student a=
{
   
201501,  //int初始化
"adaf" ,  //字符数组初始化
"12363255426"    //最后一个不用    “,”
};

和一维数组一样,可以只初始化部分成员变量。
student a={20005,’‘john’’};//只初始化前两个成员
也可以直接清零
student a={0};//则每位变量的每一位都是0。
注意: 1.初始化时候一定要用花括号,结尾用“;”结束
2.各字段的初始值要与该字段的类型匹配
3.各初始值要以逗号隔开
4.空间上各位都是连续的

(2)定义数组

可以和基本类型一样,定义数组,表示并排的多个对象。
student a[3];

student a[3]=
{
   
  {
   2001,"acs","1232102123"},
  {
   2002,"ass","1232102124"},
  {
   2003,"aos","1232102125"}
}

若输出cout<<a[1].id则是第二行的2002

(3)对成员的访问

使用点号访问其成员:
名字 + . + 结构里的名字

student a;
a.id=201501;
strcpy(a.name,"John");//strcpy函数用于字符串的拷贝。
strcpy(a.phone,"12011245231")
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jdicat

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值