结构体初学者都有点小怕其实思维清晰之后你会发现结构体是个非常好的东西,嘿嘿。
第一,结构体的定义和初始化。别被书上大量的描述吓到
1.怎么定义结构体了例子如下,我们以构建一个包含学生姓名,年龄,Email为例子
struct
{
char name;
int age;
char Email;
}person;</span>
现在我们定义就已经完成了,当然这是我最喜欢的范式,你们也可以在书上找到自己喜欢的。
2.怎么初始化了?结构体一般初始化都是以结构体数组的形式来的所以我们只说这个
typedef struct person per;
per class_mate[4]//per 相当于就是 struct person,但是与 define 有所区别。define是替换,typedef是代表具体的我会专门说说的哈。
{
{"tom" , 18 , "tom@gmail.com"},//小花括号整体是一个结构体,所以每个花括号要用“,”隔开
{"tom" , 18 , "tom@gmail.com"},//小花括号里面每个元素也就是member 也要用“,”隔开
{"tom" , 18 , "tom@gmail.com"},
{"tom" , 18 , "tom@gmail.com"},
};//注意这里其实是一个类似于数组的变量初始化所以分号不能掉</span>
这里大家就知道typedef 还有结构体数组怎么定义初值了吧,这是静态定义动态定义我再看看了给你们说哈。
3.结构体的指针。结构体是个比较灵活的东西,指针也让有些童鞋小怕,结合在一起不是逆天?哈哈
per* p_class_mate;//相当于int a;per* 是一个整体代表的是一种类型
printf("name = %s/n",*p_class_mate.name);//*放在变量前代表的是去地址中的内容所以用“.”
printf("name = %s/n",p_class_mate->name);//没有*则代表的是地址所以用“->”来这是地址中的内容
不知道大家看的怎么样,好啦先就到这里,欢迎大家一起讨论