设计程序时,最重要的步骤是选择表示数据的方法,在很多情况下,简单变量甚至是数组都还不够。所以,c提供了结构变量,下面我们通过一串代码来认识结构体函数:
#include <stdio.h>
struct Book //创建结构体函数,Book为函数名
{
char name[20]; //初始化结构体成员
int price;
};
int main()//主函数
{
struct Book b1 = {"C程序设计",50}; //为结构体变量赋值
printf("书名:《%s》,单价:%d\n", b1.name, b1.price);//.是结构成员访问操作符,结构体变量.结构体成员名
return 0;
}
如上图所示,通过struct构造结构体函数,然后在结构体函数中定义结体构变量,再在main函数中进行调用struct函数调用方法是struct+函数名+变量={结构体变量的值},printf()输出变量时需要通过结构体变量.结构体成员名。
除了上述方法,我们还可以将结构体函数作为函数参数使用:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
struct Book //创建结构体函数,Book为函数名
{
char name[20];
int price;
};
void Print(struct Book* ps)//使用结构体指针作为函数参数
{
//printf("书名:《%s》,单价:%d", (*ps).name, (*ps).price);
printf("书名:《%s》,单价:%d", ps->name, ps->price);//->也是结构体成员访问操作符,结构体变量->结构体成员名
}
int main()
{
struct Book b2 = { "C++程序设计",80 };
Print(&b2); //调用Print函数
return 0;
}
PS:Print函数中输出的注释部分为输出的另一种新式,.和->均为 结构成员访问操作符
用法分别是:结构体变量.结构体成员名
结构体指针->结构体成员名
如上图所示 ,将结构体作为函数参数使用,因为没有定义结构体变量的缘故,因此通过指针返回变量,*为解引用操作符,*ps返回的就是结构体变量,也就是图中的&b2。
看到这里,希望大家能给我一个免费三连,在此谢谢大家了!