- 博客(7)
- 收藏
- 关注
原创 动态内存管理(开辟以及释放动态内存空间)
calloc函数的功能也是开辟指定大小的内存空间,如果开辟成功就返回该空间的起始地址,如果开辟失败就返回空指针(NULL),但calloc函数传参需要两个参数(开辟的内存用于存放的元素的个数和每个元素的大小)。malloc函数的功能是开辟指定大小的内存空间,如果开辟成功就返回该空间的起始地址,如果开辟失败就返回空指针(NULL),传参时只需要传入需要开辟的字节个数。free函数只能从开辟好的动态内存空间的起始位置开始释放,所以使用free函数释放动态内存空间时,传入的指针必须是当时开辟内存时返回的指针。
2022-11-15 16:41:21
448
1
原创 结构体内存对齐(如何计算结构体的大小)
如果嵌套了结构体的情况,嵌套的结构体对齐到自己的最大对齐数的整数 倍处,结构体的整体大小就是所有最大对齐数(含嵌套结构体的对齐数)的整数倍。将总共占用的16个字节空间和结构体成员最大对齐数8个字节相比较,结构体的总大小为最大对齐数的整数倍,此时16正好是8的整数倍,所以该结构体在。注意:vs中的默认对齐数为8,不是所有编译器都有默认对齐数,当编译器没有默认对齐数的时候,成员变量的大小就是该成员的对齐数。两个结构体的成员变量相同,成员顺序不同,就可能出现结构体的大小不同的情况。
2022-11-11 20:11:37
357
2
原创 对指针的详细认识(一)一一指针概念+指针类型+野指针+指针运算+二级指针
对指针的详细认识(一)一一指针概念+指针类型+野指针+指针运算+二级指针
2022-10-31 20:04:54
135
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人