结构体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)
- 局部变量在函数内执行完就释放了,跨函数使用内存~只能通过动态分配内存来实现