结构体的定义和基本用法
结构体在C语言中是一种自定义数据类型,用于组合多个不同类型的数据成为一个整体。结构体的基本用法是通过定义具有相同结构的不同数据,然后给每一个数据项赋值。例如:
struct student{
char name[20];
int age;
};
struct student stu1 = {"Tom", 18};
struct student stu2 = {"Jerry", 20};
这个结构体定义了一个学生的数据类型,其中包含了学生的姓名和年龄。定义了两个学生,一个是Tom,18岁,另一个是Jerry,20岁。
结构体指针的定义和使用
结构体指针是指向结构体的指针变量。使用时,在结构体变量名前面加上 &,即可取得该结构体的地址。例如:
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小时之内反馈信息。
如有侵犯您的版权,请给我们私信,我们会尽快处理,并诚恳的向你道歉!