结构体struct
相关知识
-
概念
结构体是用户根据实际需求,定义的复合数据类型
-
和
class
的区别在
C
语言中,struct
只能包含成员变量,不能包含成员函数,而在C++
中,struct
类似于class
,既可以包含成员变量,又可以包含成员函数。class
可以继承,默认访问权限为private
,面向对象的思想struct
默认访问权限是public
,封装多项数据
-
struct
的注意点结构体在定义时并没有分配内存(此时只是一个模型),而是在定义结构体变量时分配内存
结构体变量不能进行四则运算,但可以相互赋值。
-
动态内存的分配和释放
- 使用
malloc
分配内存,使用free
释放内存
- 使用
struct Student
{
int sno;
int age;
};
//分配内存
struct Student *p=(struct Student*)malloc(sizeof(struct Student));
//释放内存
free(p)
- 局部变量在函数内执行完就释放了,跨函数使用内存~只能通过动态分配内存来实现