• 指针(四)


    今天继续对指针进行研究,话不多说,进入正题:

    指针数组与数组指针:
    关于这两者的介绍,在http://www.cnblogs.com/webor2006/p/3463918.html有介绍,下面简单回忆下:
     
    以下通过一些示例来进一步理解指针数组和数组指针:
    示例一:
    输出结果:
    示例二:
    运行结果:
    示例三:
     
    输出结果:
     
    指针数组与二维数组:
     基于上面的实现,再来通过一个图来总结下指针数组与二维数组:
     
    指针的指针:
     
    下面通过一程序来直观的感受下:
    运行:
     
    下面通过一个实例来说明下指针的指针的使用场景:
    运行结果:
    上图中可以看到find函数使用了指针的指针,那为什么要用它呢,我用一级指针是否能达到同样的目的呢,来看下面的尝试:
    编译运行:
    这是为什么呢?下面来对其两种实现方式进行分析:
    先分析一级指针的错误实现方式
    要想通过形参来改变实参指针的地址,这时就得采用指针的指针的,这也就是为什么要用它的原因,下面接着来分析为啥用指针的指针能改变实参指针地址:
    所以,通过指针的指针,就能改变指针本身的地址。
     
    指针的指针注意点:
    下面进行说明:
    编译运行:
     
     
    运行结果:
    解释一下“
    char** p = color;
     
    所以,如果访问p[0]的内容,则会出错:
    运行:
     
     
     
    它对应的内存模型为:
    输出:
    但是下面这个得注意了:
    运行:
    好了,今天指针的探讨先互这,要理解清楚指针,就得搞清楚数据存放的内存模型,下次见!!
  • 相关阅读:
    drf—— 序列化组件
    drf—— RESTful API规范
    drf——APIView及其内部函数/类的源码分析
    drf—— drf的安装和使用
    226翻转二叉树
    51,N皇后
    557反转字符串中的单词III
    17.电话号码的字母组合
    459重复的子字符串
    419递增子序列
  • 原文地址:https://www.cnblogs.com/webor2006/p/3475249.html
Copyright © 2020-2023  润新知