- 博客(3)
- 收藏
- 关注
原创 动态内存管理
1.为什么存在动态内存开辟普通的开辟方式:int a=0;int arr[5]={0};上述内存开辟方式是在栈上开辟的,大小固定,声明数组时且必须给定数组长度,它所需要的内存在编译时分配,但很多时候我们所需要的空间大小在程序运行时才能知道,这时上述的开辟方式就不行了,所以需要通过动态内存开辟的方法。2.动态内存函数malloc void* malloc(size_t size);作用申请一块连续的空间并返回指向这段空间的指针。如果开辟成功,则返回一个指向开辟好空间的指针。如果开辟失
2020-11-10 12:44:41 170
原创 C 语言基础位段 枚举 联合体
一.结构体实现位段概念:位段和结构体的声明,不过位段的成员和结构体有两处不同1.位段的成员必须是int ,unsigned int ,signed int或者char2.位段后面需要加上冒号和数字例如:struct A { int _a:2; int _b:5; int _c:10; int _d:30; }位段的内存大小计算:先开辟第一个成员所占至少需要的字节,第二个成员所占比特位如果能放进去剩下的比特位中,则不开辟,如果放不进去,则再开辟第二个成员所需要的字节,以此类推。
2020-11-05 11:39:21 255
原创 C语言 什么是结构体内存对齐
结构体结构体是一些值的集合,这些值被称为成员变量,每个成员类型也可以不同。1.结构体的声明例如创一个学生的结构体struct student{char name[20];int age;char sex[5];};//分号不能忘记特殊声明:匿名结构体类型:不完全声明struct{ char name[20]; int age;}stu;结构体的自引用struct Node{ int data; struct Node* next;}typedef作用:将结
2020-11-03 19:08:25 238
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人