zoukankan      html  css  js  c++  java
  • “右左右左”判别法

    “右左右左”判别法

    课堂上这一部分的内容没有太懂。

    指针数组

    指针数组:首先它是一个数组,数组的元素都是指针。

    int *p[5]

    数组指针

    首先它是一个指针,它指向一个数组。

    int (*p)[5]

    指针函数

    首先它是一个函数,只不过这个函数的返回值是一个地址值。函数返回值必须用同类型的指针变量来接受,也就是说,指针函数一定有函数返回值,而且,在主调函数中,函数返回值必须赋给同类型的指针变量。

    int *f()

    函数指针

    首先它是一个指针,指向函数。

    int (*f)()

    类型识别法 右左右左法

    从变量名开始,先右再左地,交替地一个一个向外看,在纸上写下:“变量是”
    若向右遇到左圆括号,在纸上写下:“函数,参数是”,并用同样的方法处理括号中每一个参数——在纸上写下:“返回”
    若向右遇到方括号,在纸上写下:“数组,长度为{方括号的内容},元素类型为”
    若向右遇到右圆括号,什么也不做
    若向左遇到*,在纸上写下:“指针,指向”
    若向左遇到任何类型,在纸上写下对应的类型名
    
    
    - char (*(*x())[])()
    - char (*(*x[3])())[5]
    

    所以第一个x是一个函数,返回值是一个数组指针,这个数组的元素是函数指针。

    第二个x是一个数组,长度为3,元素都是函数指针,函数的返回值是指向字符型,长度为5的数组的指针。

  • 相关阅读:
    你是老鸟吗?但是有些你可能目前都不知道的东西
    工具类合集
    也谈Flash mmorpg地图问题【转】
    大量实用工具类、开源包,该帖绝对值得你收藏!
    如何设计产品【页游】
    网络游戏中,玩家常常询问什么时候开新服,其中的本质需求是什么?
    大将军UE分析
    天天连萌UE分析
    selenium IDE 回放报错
    jenkins配置
  • 原文地址:https://www.cnblogs.com/guyanlin/p/7922412.html
Copyright © 2011-2022 走看看