C/C++ 您当前所在位置:首页 > C/C++ > C语言结构体解析
C语言结构体解析
简介 我们知道定义一个数组就等于定义了多个相同类型的变量,它们的类型是一样的。有时有这样的需求,如果我想保存一些信息,但每个信息类型不一定相同,这时该怎么办?我们就可以自己定义一类型,而这个类型,就是结构体,也可以叫结构。结构体允许我们将不同的类型组合起来,形成一个新的类型。
我们知道定义一个数组就等于定义了多个相同类型的变量,它们的类型是一样的。有时有这样的需求,如果我想保存一些信息,但每个信息类型不一定相同,这时该怎么办?我们就可以自己定义一类型,而这个类型,就是结构体,也可以叫结构。结构体允许我们将不同的类型组合起来,形成一个新的类型。
结构体定义语法,假如我们用来保存一个人的信息。
struct Person { //名字 char name[20]; //年龄 int age; //性别 char sex; }
struct为关键字,后面跟结构体名字,也就是新类型的名字,名字规范和函数规范一样,只能是数字、字母、下划线且不能以数字开头。里面定义了各种类型变量,我这里定义年龄为int肯定不合理,这里只是举个例子而已。
结构体类型和基本类型是同级的,也就是能用int、char、short的地方就能用结构体,另外只是定义结构体是不会分配内存的,要用这个结构体声明变量后才会分配内存。
结构体的赋值
struct AA { int aa; int bb; } //声明结构体类型 struct TestStruct { char a; short b; int c; int arr[5]; //定义一个结构体类型变量 AA x; }; int main(int argc, char* argv[]) { //声明变量 TestStruct ts; //开始赋值 ts.a = 10; ts.b = 20; ts.c = 30; //为数组赋值 ts.arr[0] = 1; ts.arr[1] = 2; //为结构体赋值 ts.x.aa = 3; ts.x.bb = 4; return 0; }
如果要取值也很简单,int x = ts.a;就可以了,其余类推。
结构体在定义的时候可以使用任何类型,除了自身。
上一篇: 关闭网站响应头中PHP版本信息
下一篇: PE结构节表解析
点击排行
热门推荐
随机展示
站点信息
- 上线时间:2020年05月30日
- 网站程序:自建框架
- 博客模板:今夕何夕
- 文章统计:43篇文章
- 评论统计:0条评论
- 留言统计:0条留言
- 统计数据:百度统计