在C++语言中,除了类中可以使用构造函数、析构函数以外,结构体中同样可以使用。这两者的区别是:类中成员变量默认为私有成员,结构体的成员变量默认为公有。C++结构体中可以有构造函数与析构函数的,但是C语言中的结构体是不允许有的。
C语言是面向过程的,则C语言的结构体不存在面向对象的任何特点:不能继承、封装、多态;不存在访问控制,只存在作用域。
C语言的结构体只能定义数据,而不能定义方法,但可以定义函数指针。
C语言中的结构体不能为空,否则会报错。结构体关键字struct不能省略。
Struct与Class的区别主要为默认的访问控制,struct默认的数据访问控制是public的(公有的);而Class默认的数据访问控制是private的(私有的)。
结构体是一种常用的自定义构造类型,是一种常见的数据打包的方法。