【C语言】结构体的介绍

2024-03-01 09:00:22 浏览数 (2)

初阶结构体

结构体关键字----struct

描述一个学生的信息

例如描述一个学生的一些数据,其中包括:

代码语言:javascript复制
	      名字
		  年龄
		  电话
		  性别

(1)第一种写法,Stu 结构体标签 ,struct Stu - 结构体类型

代码语言:javascript复制
				struct Stu                
				{
					//成员变量
					char name[20];
					short age;            //定义一个结构体类型     相当于int
					char tele[12];
					char sex[5];
				};//s1,s2,s3;			  //s1,s2,s3是三个全局结构体变量(一般不用)
				
				int main()
				{
					struct Stu s;        //创建结构体变量(局部变量)                相当于int a = 10;
					return 0;
				}

(2)第二种写法, 使用typedef关键字把struct Stu重新起名字为Stu,在;前起新的名字

代码语言:javascript复制
				typedef struct Stu           
				{
					char name[20];
					short age;
					char tele[12];
					char sex[5];
				}Stu;                        			  //Stu:类型
				
				int main()
				{
					Stu s1 = { "张三",30,"15236985412","男" };            //初始化变量,结构体初识化要用{} 
					Stu s2 = { "李四",20,"15421410451","男" };
					printf("%s %d ", s1.name, s1.age);                   //结构体变量.成员
					
					printf("n");
				
					Stu* ps = &s1;
					printf("%s %d ", ps->name, ps->age);                //结构体指针->成员
					return 0;
				}

(3)第三种写法

代码语言:javascript复制
	struct S
	{
		int a;
		char c;
		char arr[20];
		double d;
	};
	
	struct T
	{
		char ch[10];
		struct S s;
		char* pc;
	};
	
	int main()
	{
		char arr[] = "hello bitn";
		struct T t = { "hehe",{220,'a',"hello,world",3.14},arr };
		printf("%sn", t.ch);
		printf("%sn", t.s.arr);
		printf("%lfn", t.s.d);
		printf("%sn", t.pc);
		return 0;
	}

0 人点赞