zoukankan      html  css  js  c++  java
  • 《C/C++ 高级开发 与Linux内核源码探析 提高班(王保明老师)【2】》

     指针铁律:

     

     

       

     

     

     

     

    指针类型不一样,导致  p+1 的步长不一样;

    这就是C和Java 的区别

    数据类型的本质是什么?——固定内存大小的别名

    指向的数据类型不一样,则+1 的步长不一样

    数组名(a) 代表数组首元素地址

    &a:代表整个数组

     复习:

    第二套:

    一级指针 -> 二级指针:

    在被调用函数里面分配内存;在主调用函数里面使用

    为了分清内存在主调用函数和被调用函数里面分配

    https://blog.csdn.net/qq_32483145/article/details/52901230

    通过传指针改变指针所指向的地址:

    1. 指针引用 

    2. 二级指针

     

    传进去的 pp是个二级指针

    形参变了实参没变,但是把实参里指向的地址变了... 

    形参和定义在函数里面的局部变量没有任何区别 ... 

    调试:

     

     

    这个 return buf 只是返回了一个  char * —— 把内存块的首地址返回出去了
    并没有把整个内存块返回 ,所以返回的这个指针成了一个垃圾指针 ... 

    不是代码入栈,是内存空间入栈

     

     

    p=p+2 改变了指针变量

    free(p) 是从新的位置开始释放 ... 

    解决方案:

  • 相关阅读:
    支付功能测试用例设计要点
    接口测试用例设计实践总结
    如何高效学习
    性能测试基础总结和自己的理解
    linux安装AWStats业务数据分析工具
    python3登陆接口测试
    Python2和Python3中urllib库中urlencode的使用注意事项
    运用BT在centos下搭建一个博客论坛
    python环境搭建-requests的简单安装(适合新手)
    web 资源好文
  • 原文地址:https://www.cnblogs.com/cx2016/p/13084776.html
Copyright © 2011-2022 走看看