16-结构体
结构体可以让C语言创建出新的类型。
/* 创建一个学生类型 */
struct Stu
{
char name[20]; //名字
int age; //年龄
double score; //成绩
};
/* 创建一个书的类型 */
struct Book
{
char name[20]; //名字
float price; //价格
char id[30]; //书号
};
一、结构体变量的创建
struct Stu s; //结构体变量的创建(未初始化)
二、. 操作符
用来表示结构体的成员变量。
结构体成员表达形式:结构体变量 . 结构体成员变量。
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
/* 创建一个学生类型 */
struct Stu
{
char name[20]; //名字
int age; //年龄
double score; //成绩
};
int main()
{
struct Stu s = { "张三", 20, 85.5 }; //结构体变量的创建和初始化
/*
* 结构体成员表达形式:结构体变量.结构体成员变量
*/
printf("名字:%s\t 年龄:%d\t 成绩:%lf\n", s.name, s.age, s.score); //%lf 打印双精度浮点型的格式
return 0;
}
三、-> 操作符
指针指向对象中的变量。
结构体成员表示形式:结构体指针 -> 成员变量名。
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
/* 创建一个学生类型 */
struct Stu
{
char name[20]; //名字
int age; //年龄
double score; //成绩
};
int main()
{
struct Stu s = { "张三", 20, 85.5 }; //结构体变量的创建和初始化
/*
* 结构体成员表达形式:结构体变量.结构体成员变量
*/
printf("方法1(.):名字:%s\t 年龄:%d\t 成绩:%lf\n\n", s.name, s.age, s.score); //%lf 打印双精度浮点型的格式
struct Stu * pa = &s; //获取 s 变量的地址
/*
* 结构体成员表达形式:指针变量的取值.结构体成员变量
*/
printf("方法2(.):名字:%s\t 年龄:%d\t 成绩:%lf\n\n", (*pa).name, (*pa).age, (*pa).score); //%lf 打印双精度浮点型的格式
/*
* 结构体成员表达形式:结构体指针 -> 成员变量名
*/
printf("方法3(->):名字:%s\t 年龄:%d\t 成绩:%lf\n", pa->name, pa->age, pa->score); //%lf 打印双精度浮点型的格式
return 0;
}
标签:lf,struct,16,name,pa,变量,结构
From: https://www.cnblogs.com/AK47YHAO/p/18591227