目录
前言
C语言结构体初识。
一、C语言结构体是什么?
C 数组允许定义可存储相同类型数据项的变量,结构是 C 编程中另一种用户自定义的可用的数据类型,它允许您存储不同类型的数据项。
结构体中的数据成员可以是基本数据类型(如 int、float、char 等),也可以是其他结构体类型、指针类型等。
二、定义结构
下面以创建学生的结构体为例。
//学生
struct Stu
{
//成员
char name[20];//姓名
int age;//年龄
char sex[10];//性别
char tele[12];//电话
};
struct是创建数组的关键字;
Stu则是该数组的标签;
接下来就是创建需要存放的数据类型。
三、结构体变量初始化
下面是第一种结构体初始化的方法,直接在数组创建完成以后,直接创建对象并赋值。
//学生
struct Stu
{
char name[20];//姓名
int age;//年龄
char sex[10];//性别
char tele[12];//电话
}stu={"小明",20,"男","1234567890"};
接下来是在main()中创建对象并赋值。
struct Stu s是声明创建数组对象,s则是对象名。
在输出的时候要一一对应输出的数据类型,导出命名为结构体对象.成员名的结果,同时这些输出的结果可以按照自定义的顺序输出。
int main()
{
struct Stu s = { "小明",20,"男","123456789" };
//结构体对象.成员名
printf("%s %d %s %s\n", s.name, s.age, s.sex, s.tele);
return 0;
}
四、指向结构的指针
首先,创建一个指向结构的指针函数void print(struct Stu* ps)。在main()当中通过传递对象地址来指向该结构体。因为传进的是指针地址,所以要用(*ps).成员名来指向对象结构体当中的成员。
因为使用(*ps)十分的不简洁快速,所以使用->来指向成员。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
//学生
struct Stu
{
//成员
char name[20];
int age;
char sex[10];
char tele[12];
};
void print(struct Stu* ps)
{
printf("%s %d %s %s\n", (*ps).name, (*ps).age, (*ps).sex, (*ps).tele);
//->
//结构体指针变量->成员名
printf("%s %d %s %s\n", ps->name, ps->age, ps->sex, ps->tele);
}
int main()
{
//结构体对象.成员名
struct Stu s = { "张三",20,"男","123456789" };
printf("%s %d %s %s\n", s.name, s.age, s.sex, s.tele);
print(&s);
return 0;
}
总结
以上就是今天要讲的内容,本文仅仅简单介绍了C语言结构体的用法和定义。