结构体定义

引入:数据类型分为

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 浙江

相关推荐

找工作勤劳小蜜蜂:自我描述部分太差,完全看不出想从事什么行业什么岗位,也看不出想在哪个地区发展,这样 会让HR很犹豫,从而把你简历否决掉。现在企业都很注重员工稳定性和专注性,特别对于热爱本行业的员工。 你实习的工作又太传统的it开发(老旧),这部分公司已经趋于被淘汰,新兴的互联网服务业,比如物流,电商,新传媒,游戏开发和传统的It开发有天然区别。不是说传统It开发不行,而是就业岗位太少,基本趋于饱和,很多老骨头还能坚持,不需要新血液。 工作区域(比如长三角,珠三角,成渝)等也是HR考虑的因素之一,也是要你有个坚定的决心。否则去几天,人跑了,HR会被用人单位骂死。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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