一 网站建设管理基本情况,ps 矢量素材网站,商业信息,网站平台建设专家意见1、结构体#xff1a; 用于存储不同数据类型的多个相关变量#xff0c;从而形成一个具有独立性的组合数据类型。
结构体的声明#xff1a;
struct 结构体类型名{ 数据类型 成员1#xff1b; 数据类型 成员2#xff1b; 数据类型 成员3#xff1b;
………
}#xff1… 1、结构体 用于存储不同数据类型的多个相关变量从而形成一个具有独立性的组合数据类型。
结构体的声明
struct 结构体类型名{ 数据类型 成员1 数据类型 成员2 数据类型 成员3
………
}//注意此处的分号
声明创建了一种自定义的数据类型这种类型叫做struct 结构体类型名è数据类型 struct student(){ char name[32]; int age; char sex; double score;
}
struct student è 自定义一个数据类型
定义结构变量 struct studet 结构体变量名 struct studet stu;
初始化 struct student stu { “zhangsan”,18 ,’M’,88.8};
使用 结构体变量名.成员名-- 数组名[下标] stu.age --18;
赋值 给结构体内容赋值时只能一个一个成员的去赋值 但是可以相同类型的结构体之间可以直接赋值。
结构体指针 struct student *p; 使用指针来进行获取数据 (*p).sex -- ’m’ //基本不用 p-sex -- m’ //使用这个
/*
* 文件名称struct_KT.c
* 创 建 者WM
* 创建日期2023年08月15日
* 描 述结构体基础知识
*/
#include stdio.h
#includestring.h
#include stdlib.h
typedef struct student
{char name[32];int age;char sex;double score;
}stu,*pstu;int main(int argc, char *argv[])
{// stu s1{zhangsan,18,m,88.8},s2;//s2s1;// strcpy(s2.name,lisi);// s2.age19;// s2.sexw;// s2.score29.0;stu s3;scanf(%s,s3.name);scanf(%d,s3.age);//scanf(%*c%c,s3.sex);//方法1、去除脏字字符\r回车getchar(); //方法2、去除脏字字符\r回车,放在输入数据之前scanf(%c,s3.sex);scanf(%lf,s3.score);//结构体指针pstu ps3;printf(%s,%d,%c,%.2lf\n,s3.name,s3.age,s3.sex,s3.score);printf(%c\n,p-sex);pstu k(struct student *)malloc(sizeof(stu));strcpy(k-name,wangwu);puts(k-name);free(k);return 0;
} 2、结构体大小
使用结构体成员中最大的数据类型的长度来对齐。一个成员不会分到多个格子里。从上到下开始对齐运算。只会放到自己数据类型大小的倍数的位置上。数组相当于写了一堆对应类型的变量。 1111
1011
1000
所以为12 1111 1111
1111 1111
1111 1110
1100 0000
1111 1111
所以为40