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) 是从新的位置开始释放 ... 

    解决方案:

  • 相关阅读:
    洛谷:P3391 【模板】文艺平衡树(Splay)
    洛谷:P2234 [HNOI2002]营业额统计
    洛谷冬令营随想
    存储过程分页说明
    前台数据验证(1)
    前台数据验证(2)
    【转载】JQuery中$.ajax()方法参数详解
    启用IIS的Gzip压缩
    使用WCF常见问题
    在使用WCF时如何生成证书认证?
  • 原文地址:https://www.cnblogs.com/cx2016/p/13084776.html
Copyright © 2011-2022 走看看