简单认识:结构体的嵌套,结构体的传参

举报
念君思宁 发表于 2023/02/16 17:43:38 2023/02/16
【摘要】 简单认识:结构体的嵌套,结构体的传参

简单认识:结构体的嵌套,结构体的传参

对于结构体的基础知识,结构体的声明,结构成员的类型,结构体变量的定义和初始化,笔者在上篇博客中已经进行了详细的详解,有兴趣的读者可以阅读笔者上篇博客!

对于嵌套使用,从入门C语言以来,我想大家已经对于嵌套使用,早已习惯,毕竟在for循环输出一个二维数组时候,就用来嵌套,在switch   case; 语句中,也用了嵌套,可以调用另外一个switch case;语句,.................因此对于嵌套使用的定义类型,就不用笔者进行过多的讲述!

下面直奔主题:

//实现结构体的嵌套
#include  <stdio.h>
 
struct stu
 
{
	int name[20];
	int age;
	int hight;
}S;
 
struct Emp
 
{
	int id;
	char name[20];
	struct sut ; // 嵌套一个结构体
}emp1;
 
int main()
{
	struct Emp emp1;
 
	return 0;
}

上述内容为笔者所熟知的结构体嵌套方式,若与读者的想法有差异,可能就是笔者的所写错了吧!尴尬!……

1.对于结构体:我们所熟悉的输入模式为:

struct stu s = { "zhangsan",20,"nan",180 };

2.但是若要定点输入到某个成员列表里面,我们还可以……

struct stu s = { .age = 20,.name = "zhangsan" };

对于上述这两种写法,优恶自见人心,在这里笔者就不做过多的讲述!但仍是感觉第二种写法,比较好!

下面笔者来速写一段代码,分析一下,供大家参考:

 
#include <stdio.h>
 
struct S
{
	char name[20];
	int age;
}s;
int main()
{
	struct S s = { .age = 20,.name = "zhangsan" }; //初始化定义
	printf("age=%d name=%s\n", s.age, s.name);
	return 0;
}

上述代码中,笔者就是用了第二种写法,输入时候,感觉特别清晰易懂!

不过还是需要额外注意那个符号!struct S s = { .age = 20, .name = "zhangsan" }; //初始化定义
    printf("age=%d name=%s\n", s.age, s.name);带“ . "是因为,是在结构体里面的数据类型!

笔者的运转结果为:

 对于没有按照结构体的输入,输出规定来进行运转代码的话,将会出现意想不到的结果!

直接进行报错,运转不出来结果……

 到此:笔者对于浅浅简单认识:结构体的嵌套,结构体的传参理解,已经结束,du'z 若有不同的看法,请及时联系笔者进行更改!您的评价,将会是笔者最大的鼓励!

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。