C语言进阶
文章平均质量分 94
深鱼~
吹灭读书灯,一身都是月
展开
-
【C进阶】动态内存管理
动态内存开辟的函数void *malloc(size_t size) (字节为单位)头文件:<stdlib.h>这个函数向内存申请一块连续可用的空间,并返回指向这块空间的指针(1)开辟成功:返回指向开辟好空间的指针(2)开辟失败:返回一个NULL指针,空指针是不能进行操作的(因此malloc的返回值一定要做检查(3)返回值的类型是 void*,具体使用时自己进行强制类型转换(4)如果参数 size 为0,malloc的行为是标准是未定义的,取决于编译器动态内存的释放和回收。原创 2023-10-22 13:45:52 · 1496 阅读 · 72 评论 -
【C进阶】内存函数
本篇博客带大家了解内存操作函数memcpy,memmove,memset,memcmp原创 2023-10-12 06:00:00 · 686 阅读 · 62 评论 -
【C进阶】字符串函数
C语言中对字符和字符串的处理很频繁,但是C语言本身是没有字符串类型的,字符串通常放在中或者中字符串常量适用于那些对它不做修改的字符串函数本章重点介绍处理字符串函数的库函数的使用和注意事项。原创 2023-10-09 15:43:18 · 1138 阅读 · 121 评论 -
【C进阶】指针笔试题解析
a变为数值+1也就是+一个字节,再把加一个字节后的a当作一个地址,那么a也就是跳过了一个字节,指向了01后面的00位置,,看图解(实际上二维数组也是连续存放的,但是为了便于理解,还是画成了行和列)(1)&aa是二维数组地址,&aa+1跳过整个二维数组,元素10后面的地址。再强转为int *类型,ptr1[-1]==*(ptr1-1),也就是4。如下表表达式的值分别为多少?原创 2023-10-02 16:03:05 · 1083 阅读 · 69 评论 -
【C进阶】指针和数组笔试题解析
回顾一下对于数组名的理解:除了以下两种情况,数组名表示的都是(1)sizeof(数组名):这里的数组名表示整个数组(2)&(数组名):这里的数组名也表示整个数组。原创 2023-09-18 00:06:02 · 1346 阅读 · 110 评论 -
【C进阶】指针(二)
看pa和【】还是和*结合,如果是和【】结合,那么pa就是数组如果是和*结合,那么pa就是指针eg:函数指针数组可以将类型为函数指针的元素放在一起。原创 2023-09-08 21:43:56 · 1642 阅读 · 113 评论 -
【C进阶】指针(一)
指针的主题,在初阶指针章节已经接触过了,我们知道了指针的概念:1.指针就是个变量,用来存放地址,地址的唯一标识一块内存空间(指针变量),内存单元是由编号的,编号==地址==指针2.指针/地址/指针变量的大小是固定的4/8个字节(32位平台/64位平台)3.指针是有类型的,指针的类型决定了指针的+-整数的步长,指针解引用操作的时候的权限4.指针的运算。原创 2023-08-21 21:34:49 · 2886 阅读 · 96 评论 -
【C进阶】深度剖析数据在内存中的存储
目录一、数据类型的介绍1.类型的意义:2.类型的基本分类二、整形在内存中的存储1.原码 反码 补码2.大小端介绍3.练习三、浮点型在内存中的存储1.一个例子 2.浮点数存储规则前面我们已经学习了基本的内置类型以及他们所占存储空间的大小:(1)整形家族:【温馨提示】:char类型也是整形家族的原因:【注意】:(2)浮点数家族:都可以表示小数(3)构造类型(自定义类型)(4)指针类型(5) 空类型eg:int main(void)就表示main函数不需要参数但是实际上main函数是有三个参数的int main原创 2023-08-30 20:01:59 · 2906 阅读 · 135 评论