C语言结构体的使用

C语言是面向过程的编程语言,不像面向对象语言一样,可以实例化一个对象,来存储对象相关的数据内容,例如一个学生有姓名、性别、学号、年龄等信息,而用C语言实现起来不可能一个一个得定义变量去存储,这时我们就可以用到struct——结构体。

解释

结构体(struct)是由一系列具有相同类型或不同类型的数据构成的数据集合,也叫结构。

在C的开发中,结构体使用的十分频繁,实际开发中,我们经常需要使用多种数据类型来修饰某个变量,但数据类型又不相同,数据间又彼此联系,我们就需要用一种新的数据类型来存储——结构体。

结构体使用方法

#include "stdio.h"
#include "string.h"

struct Student {
	char name[10];
	char sex[10];
	int age;
	int num;
};

int main()
{
	Student lihua;
	strcpy_s(lihua.name, "李华");
	strcpy_s(lihua.sex, "男");
	lihua.age = 18;
	lihua.num = 05;
	printf("姓名:%s\n", lihua.name);
	printf("性别:%s\n", lihua.sex);
	printf("年龄:%d\n", lihua.age);
	printf("学号:%d\n", lihua.num);
	return 1;
}

上面的代码中,先是声明了一个结构体名为Student的结构体,接着在main函数中,进行了结构体的实例化,emmm,说实例化可能不太准确,应该说创建了一个结构体变量lihua,并一一给其赋值。

姓名:李华
性别:男
年龄:18
学号:5

接着就打印输出以上内容。

是不是觉得这样对结构体变量的赋值过于繁琐,没关系,我们还有其他方式

#include "stdio.h"
#include "string.h"

struct Student {
	char name[10];
	char sex[10];
	int age;
	int num;
} lihua = { "李华", "男", 18, 05 };

int main()
{
/*	Student lihua;
	strcpy_s(lihua.name, "李华");
	strcpy_s(lihua.sex, "男");
	lihua.age = 18;
	lihua.num = 05;*/
	printf("姓名:%s\n", lihua.name);
	printf("性别:%s\n", lihua.sex);
	printf("年龄:%d\n", lihua.age);
	printf("学号:%d\n", lihua.num);
	return 1;
}

我们可以在声明结构体时直接对结构体变量进行赋值,可以看出以上的赋值方式比上一种方式更方便。

姓名:李华
性别:男
年龄:18
学号:5

打印结果也是一样的。

上一篇:vue组件传值


下一篇:值为hash类型---redis基本命令