结构体

自定义数据类型:结构体

自定义数据类型定义完成以后,等于内置函数。

1、结构体不能定义一个自身的普通成员变量,但可以定义一个指向自身的指针;

2、结构体普通变量通过“.”来访问成员;

3、结构体指针变量通过“->”来访问其成员。

 

1struct A

{

struct  A  g;  //error 因为自身没结束,没法分配内存

struct  A  *p;  //ok ,因为指针一定是4个字节

};

2int main()

{

struct Student stu1; //随机值

struct Student stu2={“liubei”,25};

struct Student stu3={“caocao”}; //年龄为0,聚合类型只初始化一部分,另一部分都为0

stu3.age=30;//曹操年龄为30

stu.name=”sunquan”;//error 字符串不能直接赋值

strcpy(stu3.name,”sunquan”); //ok

 

}

 

 

 

struct Student *pstu=&stu2; //类似 int *p=&a;

(*pstu).age=35;//’.’的优先级高于*,所以一定要加()

也可以写为:

pstu->age=35;

strcpy(pstu->name,”zhangfei”);

注:有两个自带“解引用”的符号分别是“->”“[ ].

 

struct A

{

int a;

int *b;

};

struct B

{

int c;

int *d;

struct A e;

};

int main()

{

struct B aa;

struct B *bb=&aa;

}

可以如下访问:

aa.c;

aa.d;

aa.e.a;

aa.e.b;

bb->c;

bb->d;

bb->e.a;

bb->e.b;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值