结构体
Posted panghushalu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了结构体相关的知识,希望对你有一定的参考价值。
一 赋值和初始化
# include <stdio.h>
struct Student//只是定义了一个数据类型,并没有定义变量
{
int age;
float score;
char sex;
} ;
int main ()
{
//类似于数组
struct Student st1={80,66.6,'F'};//初始化 定义的同时赋初值
struct Student st2;//如果定义完之后只能分开赋值
st2.age=10;
st2.score=88;
st2.sex='F';
printf("%d %f %c
",st1.age,st1.score,st1.sex);
printf("%d %f %c
",st2.age,st2.score,st2.sex);
return 0;
}
二 如何取出结构体变量中的每一个成员
1.结构体变量名.成员名
2.指针变量->成员名 这种方式更常用
# include <stdio.h>
struct Student
{
int age;
float score;
char sex;
} ;
int main ()
{
struct Student st1={80,66.6,'F'};
st1.age;//第一种方式
struct Student* p = &st1;//构造指针变量
p->age;//第二种方式 p->age在计算机内部会转换为(*p).age硬性规定 又等价于p.age
return 0;
}
三 结构体变量和结构体指针变量作为函数参数传递的问题
# include <stdio.h>
void InputStudent(struct Student* p);
void OutputStudent(struct Student ss);
struct Student
{
int age;
float score;
char sex;
} ;
int main ()
{
struct Student st1;
InputStudent(&st1);
OutputStudent(st1);
return 0;
}
void OutputStudent(struct Student ss)//只输出不修改的话不用使用指针变量
{
printf("%d %f %c
",ss.age,ss.score,ss.sex);
}
void InputStudent(struct Student* p)
{
p->age=10;
p->score=99.99;
p->sex='F';
}
以上是关于结构体的主要内容,如果未能解决你的问题,请参考以下文章