黑马程序员——C语言结构体
2015-09-04 15:48
302 查看
结构体
结构体就是一个可以包含不同数据类型的一个结构,它是一种可以自己定义的数据类型,它的特点和数组主要有两点不同,首先结构体可以在一个结构中声明不同的数据类型,第二相同结构的结构体变量是可以相互赋值的,而数组是做不到的,因为数组是单一数据类型的数据集合,它本身不是数据类型(而结构体是),数组名称是常量指针,所以不可以做为左值进行运算,所以数组之间就不能通过数组名称相互复制了,即使数据类型和数组大小完全相同。
定义结构体使用struct修饰符,例如:
上面的代码就定义了一个名为test的结构体,它的数据类型就是test,它包含两个成员a和b,成员a的数据类型为浮点型,成员b的数据类型为整型。
注意:结构体生命的时候本身不占用任何内存空间,只有当你用你定义的结构体类型定义结构体变量的时候计算机才会分配内存。
各种结构体定义
1.普通的结构体
2.带变量初始化的结构体
3.成员变量和声明一起定义
结构体就是一个可以包含不同数据类型的一个结构,它是一种可以自己定义的数据类型,它的特点和数组主要有两点不同,首先结构体可以在一个结构中声明不同的数据类型,第二相同结构的结构体变量是可以相互赋值的,而数组是做不到的,因为数组是单一数据类型的数据集合,它本身不是数据类型(而结构体是),数组名称是常量指针,所以不可以做为左值进行运算,所以数组之间就不能通过数组名称相互复制了,即使数据类型和数组大小完全相同。
定义结构体使用struct修饰符,例如:
struct test { float a; int b; };
上面的代码就定义了一个名为test的结构体,它的数据类型就是test,它包含两个成员a和b,成员a的数据类型为浮点型,成员b的数据类型为整型。
注意:结构体生命的时候本身不占用任何内存空间,只有当你用你定义的结构体类型定义结构体变量的时候计算机才会分配内存。
各种结构体定义
1.普通的结构体
struct Person{ char name[20]; int age; float height; };
2.带变量初始化的结构体
struct Person{ char name[20]; int age; float height; }Jack;
3.成员变量和声明一起定义
struct Person Jack <"Jack",24,175>
相关文章推荐
- C++基础---构造函数与关键字explicit
- C++基础---构造函数与析构函数
- C++/CLR 使用(VS2012,VS2013,VS2015)编写Windows窗体应用程序
- C语言实现快速排序
- 浅拷贝——C++编译器默认提供的赋值运算符
- C语言实现冒泡排序
- 什么函数不能声明或定义为虚函数
- C语言的总结
- [C++] 模板与泛型编程(2)
- 【more effective c++读书笔记】【第5章】技术(3)——要求(或禁止)对象产生于heap之中
- 【more effective c++读书笔记】【第5章】技术(3)——要求(或禁止)对象产生于heap之中
- c++ 友元类&友元函数
- C++ I/O Stream 控制小数点位数
- 浅拷贝——C++编译器默认提供的拷贝构造函数
- C++中的单例模式
- C++中的智能指针
- C语言中链表任意位置怎么插入数据?然后写入文件中?
- C语言中链表任意位置怎么插入数据?然后写入文件中?
- c语言指向函数的指针和返回指针的函数
- c++回调函数