c语言结构体里面的指针赋值(结构体指针赋值给结构体类型变量)

结构体的定义和基本用法

结构体在C语言中是一种自定义数据类型,用于组合多个不同类型的数据成为一个整体。结构体的基本用法是通过定义具有相同结构的不同数据,然后给每一个数据项赋值。例如:

struct student{
    char name[20];
    int age;
};
 
struct student stu1 = {"Tom", 18};
struct student stu2 = {"Jerry", 20};

这个结构体定义了一个学生的数据类型,其中包含了学生的姓名和年龄。定义了两个学生,一个是Tom,18岁,另一个是Jerry,20岁。

结构体指针的定义和使用

结构体指针是指向结构体的指针变量。使用时,在结构体变量名前面加上 &,即可取得该结构体的地址。例如:

c语言结构体里面的指针赋值(结构体指针赋值给结构体类型变量)

struct student 
{
    char name[20];
    int age;
};
 
int main()
{
    struct student stu = {"Tom", 18};
    struct student *p = &stu;
    printf("%s, %d", p->name, p->age);
    return 0;
}

这个程序定义了一个学生结构体,然后创建了一个指向学生结构体的指针 p。在主函数中给学生结构体赋值后,通过取得结构体地址,将该地址赋值给指针 p。最后打印出结构体中的 name 和 age 内容。

指针赋值示例

为了更好地说明结构体指针的用法,我们来看一个有趣的例子:

struct person 
{
    int age;
    char *name;
};
 
int main()
{
    struct person *someone;
    struct person myself;
    myself.age = 18;
    myself.name = "Tom";
    someone = &myself;
    printf("%s, %d", someone->name, someone->age);
    return 0;
}

这个程序定义了一个人的数据类型,包含了他的年龄和姓名。创建了一个指向人结构体的指针 someone,和一个自定义的人结构体 myself。设置 myself 的年龄为18,姓名为 Tom,然后将 myself 的地址给指针变量 someone。最后,输出指针所指向结构的内容。

通过这个例子我们可以看到,指针变量 someone 指向自定义的人结构体 myself,而指针变量 someone 指向自定义的结构体,所以输出时需要使用指针->成员的形式来访问结构体成员 name 和 age。

本文来自投稿,不代表亲测学习网立场,如若转载,请注明出处:https://www.qince.net/cpp332.html

郑重声明:

本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。 若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。

我们不承担任何技术及版权问题,且不对任何资源负法律责任。

如遇到资源无法下载,请点击这里失效报错。失效报错提交后记得查看你的留言信息,24小时之内反馈信息。

如有侵犯您的版权,请给我们私信,我们会尽快处理,并诚恳的向你道歉!

(0)
上一篇 2023年4月16日 下午8:09
下一篇 2023年4月16日 下午8:09

猜你喜欢