结构体
在定义一个变量时 次变量拥有诸多 属性 我们需把属性写进去 则不能用普通的定义变量来定义它 如:在写学生管理系统时 学生具有多种属性 性别 年龄等等
这时我们就需要结构体了。
定义:
struct Student
{
char name[10];
int age;
char sex[5];
}st;
注意 结构体内的成员 不能对其进行初始化
调用成员:
void Show(Student *p)
{
printf("%s,%d,%s",p->name,p->age,p->sex);
/printf("s,%d,%s",(*p).name,(*p).age,(*p).sex); //指向符也自带解引用
}
用指针调用的话 使用 ->
非指针使用 . 如:a.name
//结构体数组
Student arr[]={{"liubei",99,"man"},{"caocao",18,"man"}};
结构体的大小
结构体的大小(内存对齐//整除)
struct A
{
char b;//1个字节
int a;//4个字节
};//8个字节
struct B
{
char a;//1+1
short b;//2
int c;//4
};//8
struct C
{
char a;//1+3
int b;//4
short c;//2+6
double d;//8
};//24
struct E
{
int a;//4
char b;//1+3
};//8
typedef
typedef 自定义一种类型
如:
typedef int *PP;//==》由这种变量提升为类型
其中 *pp不变量 而是一种新的类型
本文深入探讨了结构体的概念,如何定义和初始化结构体,以及结构体在C语言中的使用方法。通过实例讲解了结构体成员的访问方式,包括指针的使用,以及结构体数组的创建与初始化过程。此外,还分析了结构体的内存对齐原则及其对结构体大小的影响。
6021

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



