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的数组的指针。

  • 相关阅读:
    小米手机4 rom 下载链接
    java 两个线程交替打印到100
    获取积分最多的人(二)
    刷题通过的题目排名
    考试分数(二)
    牛客的课程订单分析(二)
    牛客的课程订单分析(三)
    docker使用小记
    Dynamic Graph Collaborative Filtering
    Learnable Embedding Sizes for Recommender Systems
  • 原文地址:https://www.cnblogs.com/guyanlin/p/7922412.html
Copyright © 2011-2022 走看看