结构体定义

引入:数据类型分为

1.基本数据类型(定点存储和浮点存储)

2.指针类型

3.扩展类型(复合类型)

(1)数组 变量数量扩展

(2)枚举 值的可读性

(3)结构体(struct)

(4)联合体(union)

今天所了解的是结构体与联合体

一.结构体

1.结构体定义:

在一个主题下组装一个类型。

#include <stdio.h>
int main()
{
  /*定义一个结构体*/
  typedef enum cardtype{SFZ,XSZ,JSZ} CARD_TYPE;
  struct stu_infor
	{
		int StuNum;
		CARD_TYPE CardType;
		char CardNum[30];
		char StuName[30];
		char Sex;
	}s1;
  /*创建结构体变量并且赋值*/
  
  /*1.创建变量
(1)在struct后直接创建(如上)
(2)单独定义(如下)*/
  struct stu_infor s2;
  
  /*2.赋值*/
  //(1)按顺序赋值
  struct stu_infor s3={3,SFZ,"2404020201",'m'};
  //(2).式赋值
  struct stu_infor s3={.sex='m',.StuNum=4};
  
  /*键盘输入*/
  scanf_s("%d%d%s%s %c", &s1.StuNum, &s1.CardType, s1.CardNum, 30,  s1.StuName, 30,&s1.Sex,1);
  //整形加取地址符号,字符串需要用““,但是c语言中数组名就为地址不用加&,字符用’‘。
}

2.结构体数组以及typedef的灵活运用

#include <stdio.h>
/*定义一个结构体*/
typedef struct book
{
	int year;
	char writer[30];
	char bookName[30];
	double price;
}Book;                    //typedef整个数据类型为Book
typedef struct book BOOK; //typedef struct数据类型为BOOK ,两种定义方法均可
int main  ()
{
	
	/*创建结构体数组变量*/
	//int arr[4] = { 1,2,3,4 };
	Book books[4] = 
	{
		{2000,"谭浩强","C语言从入门到放弃",28.8},
	    {2000,"吴军","浪潮之巅",68.2},
	    {2000 ,"毛泽东","论持久战",48.6},
	    {1998 ,"刘慈欣","三体",58.2}
	};

	/*为结构体成员赋值 用.操作符*/
	for (int i = 0; i < sizeof(books) / sizeof(books[0]); i++)
	{
		printf("%-6d %-10s %-20s %.2f\n",books[i].year,books[i].writer,books[i].bookName,books[i].price);
	}
	 
	return 0;
}

3.结构体指针

/*使用指针操作结构体成员*/ 
	  
	/*方式一:  (*指针).成员*/
	 (*q).price = 10;
	 
	/*方式二:  指针 -> 成员*/
	 p->price = 20;
	 strcpy(p->bookName, "C语言从入门到精通");

全部评论
看来学校又整新活了
点赞 回复 分享
发布于 2024-12-11 12:08 浙江

相关推荐

07-02 13:52
武汉大学 golang
骗你的不露头也秒
牛客87776816...:😃查看图片
点赞 评论 收藏
分享
06-27 12:54
已编辑
门头沟学院 Java
累了,讲讲我的大学经历吧,目前在家待业。我是一个二本院校软件工程专业。最开始选专业是觉得计算机感兴趣,所以选择了他。本人学习计算机是从大二暑假结束开始的,也就是大三开始。当时每天学习,我个人认为Java以及是我生活的一部分了,就这样持续学习了一年半,来到了大四上学期末,大概是在12月中旬,我终于找的到了一家上海中厂的实习,但我发现实习生的工作很枯燥,公司分配的活也不多,大多时间也是自己在自学。就这样我秋招末才找到实习。时间来到了3月中旬,公司说我可以转正,但是转正工资只有7000,不过很稳定,不加班,双休,因为要回学校参加答辩了,同时当时也是心高气傲,认为可以找到更好的,所以放弃了转正机会,回学校准备论文。准备论文期间就也没有投递简历。然后时间来到了5月中旬,这时春招基本也结束了,然后我开始投递简历,期间只是约到了几家下场面试。工资也只有6-7k,到现在我不知道该怎么办了。已经没有当初学习的心劲了,好累呀,但是又不知道该干什么去。在家就是打游戏,boss简历投一投。每天日重一次。26秋招都说是针对26届的人,25怎么办。我好绝望。要不要参加考公、考研、央国企这些的。有没有大佬可以帮帮我。为什么感觉别人找工作都是顺其自然的事情,我感觉自己每一步都在艰难追赶。八股文背了又忘背了又忘,我每次都花很长时间去理解他,可是现在感觉八股、项目都忘完了。真的已经没有力气再去学习了。图片是我的简历,有没有大哥可以指正一下,或者说我应该走哪条路,有点不想在找工作了。
码客明:太累了就休息一下兄弟,人生不会完蛋的
如果实习可以转正,你会不...
点赞 评论 收藏
分享
嵐jlu:我是山川🐔里🐔🧱的,阿里系简历全过; 你这简历一看就还是半成品啊,没有荣誉经历奖项什么的吗?
投递阿里巴巴集团等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务