Struct结构体的使用学习

Struct结构体的使用

结构体的声明

struct _Person
{
    char *name;
    int age;
    double height;  
};

struct _Person p1;
每次使用结构体的时候都要struct _Person ,比如struct _Person p1={0};sizeof(struct _Person ); 太麻烦。
2、typedef int zhengshu;可以给int取一个别名zhengshu。

因此也可以用typedef struct _Person Person;把Person定义为struct _Person 的别名

3、当然最常用的简化写法:

typedef struct _Person

{

int age;

char* name;

} Person;

4、结构体的赋值
Person p1={0};
p1.name = “全智贤”;
p1.age=30;
Person p2 = p1;
printf(“%d,%d\n”,&p1,&p2);
printf(“%s的年龄是%d\n”,p1.name,p1.age);
p1和p2的地址不一样,结构体赋值是“复制一份”

5、为了避免内存占用,一般只用一份,因此通过结构体指针传递:

Person *p2 = &p1;

printf(“%s的年龄是%d\n”,p2->name,p2->age);

6、注意:对于结构体指针,取成员要使用->,而不是“.”

#include <stdio.h>

typedef struct _Person
{
    char *name;
    int age;
} Person;

int main(int argc, char *argv[])
{
    Person p1 ={0};
    p1.name= "aaaa";
    p1.age= 30;
    printf("%s,%d\n",p1.name,p1.age);

    Person p2 = p1;//创建一个Person结构体内存
        //复制p1的内容
    p1.age = 300;
    printf("%s,%d\n",p2.name,p2.age);
    printf("%d,%d\n",&p1,&p2);

    Person* p3 = &p1;
    printf("%d,%d\n",p3,&p1);
    printf("%s,%d\n",p3->name,p3->age);//对于结构体指针
//取成员的值要使用->
    p1.age= 100;
    printf("%s,%d\n",p3->name,p3->age);
    return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值