1.结构体的定义:不同值的集合,这些值叫做成员变量。成员变量的也可以是不同类型,数组,指针,例age,sex,idear等等
2.结构体变量的定义
#include<stdio.h>
struct Stu
{
char name[9];
int age[4];
char sex[5];
char id[20];
}s1,s2,s3;
Struct stu
{ char name[9];
int age[5];
char sex[5];
char id[20];
};
struct Stu1;
int main()
{struct S2;
retunr 0;
}
用struct来括起来
3.结构体的初始化
有两种方法
顺序初始化
sturct Stu s1={“张三”,20,“男‘,”20188’};
这种顺序不能变
指定初始化
struct Stu s2={.age=18,.nam="张三’‘,.sex="男’‘,.id=’‘20188’'};
这种顺序可以变,要用.xxx的形式规定
第一种顺序是一定的,但下面这一种顺序不一定
4 结构体变量的赋值
arr1=arr2;
s1=s2
struct stu s3=s2(这里默s2是提前定义过的,不然不可以这样)
5 点操作符既有·访问的作用,又有修改的作用
#inclued<stdio.h>
struct stu
{
char nam[9];
int age;
char sex[5];
char id[20];
}
int main ()
{struct stu s1={“张三”,20 ,“男”,'‘2908208’’};
s.age=18;\这里是修改年龄
pintf(”%s\n",s.name);
prinft(“%d\n”,s.age);
return 0;
}
6.间接访问
struct stu *pa=&a;
printf(“%d/n”,pa->name);
两种写法效果相同,但规则不同·
写法不同,一种是直接.xxx
另一种用了指针的形式
7.结构体传参
其实和传值调用和传址调用本质一样,只是字节的拷贝成本不同
传结构体相当于传值调用,保留原件,在复印件上上修改
传地址相当于传址调用,直接把原件上改了
8.void既可以用在自定义函数,也可以用在非return中,就是任务型函数,也会在函数调用中出现
506



被折叠的 条评论
为什么被折叠?



