4小时掌握指针(印度小哥讲解)
文章平均质量分 52
一个很好的课程, 我看完之后做了完整的笔记, 所以想要分享出来, 希望能对大家有帮助
哎呀呀嗯呀呀
这个作者很懒,什么都没留下…
展开
-
18.加餐-指针及其应用(基于ARM Cortex-M)
指针是用来存储一个变量地址的变量, 若是一个“变量”占用了多个地址, 那指针就指向对应的“变量”所占用的最低的“地址”:“引用(地址)操作符(运算符)”.:“解引用操作符”.原创 2024-09-17 10:00:09 · 390 阅读 · 0 评论 -
17. 函数指针的使用案例(回调函数)
这样可以进行任意的修改, 毕竟。原创 2024-09-17 09:58:58 · 353 阅读 · 0 评论 -
16. 函数指针
函数指针的书写方式和调用函数的方式都有两种.书写方式. (使用的比较多)调用函数方式. (使用的比较多)原创 2024-09-17 09:57:48 · 472 阅读 · 0 评论 -
15. 函数返回指针
函数返回指针的主要目的是为了提高效率、避免复制大对象、实现资源共享或多态性等。在使用指针时,务必注意内存管理和资源释放,以避免内存泄漏或其他问题.注意:指针说白了也只不过是一种数据类型, 所以函数返回一个指针当然也是没有任何问题的.那个空间中存储的已经不是原来的值了, 所以有可能打印出错.这样输出的代码其实是不对的, 因为先执行的。执行完之后会自动进行销毁, 那么有可能。上的内存空间已经被释放掉了, 随后被。原创 2024-09-17 09:56:40 · 327 阅读 · 0 评论 -
14. 指针与动态内存 - 内存泄露
内存泄露是指不当地使用内存或者内存的堆区, 在一段时间内持续增长.内存泄露总是因为堆中未使用和未引用的内存块才发生的.内存上的栈是自动回收的. 而且栈的内存大小是固定的, 最多就是发生栈溢出。原创 2024-09-16 19:57:09 · 243 阅读 · 0 评论 -
13. 指针与动态内存 - malloc calloc realloc free
malloc。原创 2024-09-16 19:56:13 · 276 阅读 · 0 评论 -
12. 指针与动态内存 - 栈 vs 堆
因为有时候我们需要一个很大的数组, 这个数组会占用很大的内存, 但是栈没有这么大的内存, 或者是我们需要预留一部分空间, 在运行的时候进行调用, 但是栈已经是在编译期间所有的内存都已经确定了, 所以我们需要用“堆”来满足我们的需求.预留的时候是有界限的. 而且函数所占用的内存已经在编译期间确定了, 要是调用的函数较多, 有可能造成。“堆”是数据结构的一种, 但是和这个计算机内存中的“堆”没有什么关系, 注意一下就行.堆是一个“空闲的区域”, 也就说使用“堆”, 就代表着“使用过的内存, 都要通过。原创 2024-09-16 19:55:02 · 412 阅读 · 0 评论 -
11. 指针与多维数组
无论几维数组都是按照二维数组的方式进行研究就可以了.其实没有什么太需要说的, 基本上就是一个照猫画虎.在多维数组作为参数进行传参的时候, 需要在。中也应该是接受一个返回指向。比如, 在下面代码中,原创 2024-09-16 19:53:23 · 189 阅读 · 0 评论 -
10. 指针与二维数组
这五行代码输出的结果是一样的,因为它们都表示b[0][0]的地址。b*bb[0]和&b[0][0]都表示b[0][0]的地址。&b[0]也表示b[0]这个一维数组的起始地址,而b[0]的起始地址就是b[0][0]的地址。这五行代码输出的结果是一样的,因为它们都表示b的下一个一维数组的起始地址或首元素地址。(b + 1)和&b[1]表示b的下一个一维数组的起始地址。*(b + 1)b[1]和&b[1][0]表示b的下一个一维数组的首元素地址。原创 2024-09-16 19:52:12 · 752 阅读 · 0 评论 -
9. 指针与字符数组(下)
【代码】9. 指针与字符数组(下)原创 2024-09-16 19:51:06 · 115 阅读 · 0 评论 -
8. 指针与字符数组(上)
这个都是一样的, 对于指针的修改都是对于原来的地址, 不是将整个复制过去, 下面的这个例子主要是为了加深印象.要求我们很清楚的知道什么时候我们使用的是指针, 什么时候使用的是数组.的大小, 不然就会出现乱码的情况, 因为最后一定是要有一个。尽管指针和数组有时候使用起来相似, 但是它们不是同一个类型.对于字符串, 我们需要分配的数组大小至少要是。的, 当然, 一般来说都是会自动进行添加的.基本上和原来的是一样的, 最需要注意的就是。这四个字符, 就至少要。不能进行相加减, 但是。可以执行这样的操作.原创 2024-09-16 19:50:20 · 275 阅读 · 0 评论 -
7. 数组作为函数参数
因为一个数组有可能是很大的, 若是都进行全部的复制, 这样有点太浪费空间了.从代码中也能看出来, 指针的移动还是从。传进函数中, 数组就无法执行.中, 有一个数组, 但是在。开始的, 接下来指向。原创 2024-09-16 19:48:37 · 200 阅读 · 0 评论 -
6. 指针和数组
这两种存储方式是不同的, 数组是连续的空间, 可以通过指针的跳转直接知道数组中下一个地址中存储的值,的地址是一样的, 所以数组的首元素地址又被称为数组的“从这段代码中可以发现数组中表示第“i”位置的地址或者值。但是基本数据类型不可以, 不知道相邻的值是什么.对数组的内存地址进行存储, 但是不能直接将。原创 2024-09-16 19:46:53 · 217 阅读 · 0 评论 -
5. 函数传值和传引用
可以节省很多的空间, 虽然指针也是占用空间的, 但是不需要直接复制过去, 可以节省很多空间.这也就说明:p 和 a 一定是相互独立的, 不是同一个变量.举例子:下面这张图就很好表示了“按引用(地址)传递”的。的地址进行拷贝过去, 然后将,之间是相互独立的, 所以在。下面的函数中, 先执行。之后继续重复上述行为.Incrment函数。a = 10传递进去。原创 2024-09-16 19:45:32 · 258 阅读 · 0 评论 -
4. 指向指针的指针
的意义(作用, 操作)是找到一个指针中存储的地址, 然后“打印”地址中存储的东西.创建一个指向“指向整型变量的指针”的指针. (指向指针的指针).创建一个指向整型变量的指针.继续创建指向指针的指针的指针。原创 2024-09-16 19:43:21 · 156 阅读 · 0 评论 -
3. 指针的类型, 算数运算, void指针
下面这段代码只要是一个人类就能看懂, 展示了不同的。因为不同的数据类型的存储方式是不同的, 比如。, 这两个类型的存储方式是不同的, 一个占据。在不同的比特位中, 存放的意义也不同,方式的区别, 是一个很好很好的案例.这个空间, 然后进行提取(提取到。. 而且存放的方式是不同的., 从下面的代码中可以实现.指针是一个“强类型”的,指向int类型的指针。指针类型进行数学运算。原创 2024-09-16 19:41:53 · 164 阅读 · 0 评论 -
2. 指针代码实例
其实从这里也能看出来, 这里的指针变量中, 存储的还是一个“抽象的地址(地址的抽象)”,, 而不是“加上一个对应的数据类型的值”.进行相加减都是按照自己的方式进行的,下面这段代码说明了对应的。, 应该是真实的地址。原创 2024-09-16 19:40:17 · 128 阅读 · 0 评论 -
1. 指针基本介绍
在内存中, 每一个字节都是有一个对应的编号. (一个字节占用了一个位置).指针:指针是一个变量, 里面存放着另一个变量的内存地址.而且指针也是有内存地址的(也占用空间),是一个可以存放整型变量的地址的变量).分配的内存地址有 4 个占据的是。分配的地址有 1 个, 占据的是。指针可以指向另一个内存地址。是一个指向整型的指针变量.的起始地址, 然后修改。从下图中可以看到, 给。赋值为 5, 所以在。中以二进制的形式存储。原创 2024-09-16 19:38:48 · 306 阅读 · 0 评论