结构体创建
前言
在生活中我们要描述一个人时是不是要知道他的名字、性别、年龄啊,同理在c语言中要描述一个人也要他相关的信息,而我们在c语言中储存一个人的信息时可以发现一个人的信息需要多种数据类型来储存我们可以把这类对象称之为复杂对象,因此我们来介绍自定义类型中的结构体,结构体就可以很好的储存一个复杂对象(如一个人或一本书)。
结构体的声明
全局声明
结构体声明的语法是这样的
struct 结构体名
{
成员变量;
};/*注意分号不能丢*/
举例当我要描述一个人的信息时我们可以这样写。
#include <stdio.h>
struct Jk
{
char name[10];/*名字*/
char gender[5];/*性别*/
int age;/*年龄*/
};
int main()
{
return 0;
}
此时写的Jk这个结构体是全局的,如果想写成局部只需这样写
#include <stdio.h>
int main()
{
struct Jk
{
char name[10];/*名字*/
char gender[5];/*性别*/
int age;/*年龄*/
};
return 0;
}
特殊声明
还有一种特殊声明的声明叫不完全声明语法如下。
struct
{
成员变量;
};
这种声明省略了结构体名此时的结构体叫匿名结构体。
此时的匿名结构体是无法使用的,他的使用我们在结构体变量定义与成员初始化里讲。
结构体变量定义与成员初始化
成员类型
结构的成员可以是标量、数组、指针,甚至是其他结构体。
变量定义
声明好结构体后,如何定义变量其实很简单他有三种定义的方法:
- 声明时顺带定义一个全局结构体变量
#include <stdio.h>
struct Jk
{
char name[10];/*名字*/
char gender[5];/*性别*/
int age;/*年龄*/
}jk;/*<--声明时顺带定义一个全局结构体变量*/
int main()
{
return 0;
}
- 定义一个全局结构体变量
#include <stdio.h>
struct Jk
{
char name[10];