zoukankan      html  css  js  c++  java
  • C语言和指针-回顾15-怎么分析复杂的声明

    int **(*abc[6])()

    1. adb[6]:下标优先级高于*,所以是abc是数组
    2. *abc[6]:数组里面存的是指针ptr,F替换*abc[6]
    3. int **F():ptr指向一个函数,这个函数的返回值是int**

    int *(*abc())()

    1. abc():abc是一个函数
    2. *abc():abc的返回一个指针ptr,F替换*abc()
    3. int * F():ptr指向一个函数F,函数F的返回值是int*

    int (**(*abc)())()

    1. (*abc):abc是一个指针
    2. (*abc)():abc是一个指向函数(A)的指针,F替换(*abc)()
    3. int (**F)():A的返回值是指向函数(B)指针的指针,B的返回值是int

    int (*(*abc)())[6]

    1. (*abc):abc是一个指针
    2. (*abc)():abc是一个指向函数(A)的指针,F替换(*abc)()
    3. int (*F)[6]:A的返回值是一个指针ptr,ptr指向int数组

    int *(*(*(*abc)())[6])()

    1. (*abc):abc是一个指针
    2. (*abc)():abc是一个指向函数(A)的指针,F替换(*abc)()
    3. int *(*(*F)[6])():函数A返回一个指针ptr
    4. (*F)[6]:ptr指向一个数组a,G替换(*F)[6]
    5. int *(*G)():a数组里面存储的是函数(B)指针,B返回int*
  • 相关阅读:
    用户调查报告
    beta冲刺总结
    beta冲刺第七天
    beta冲刺第六天
    beta冲刺第五天
    beta冲刺第四天
    beta冲刺第三天
    beta冲刺第二天
    beta冲刺第一天
    简单的密码管理器(Python)(待完善)
  • 原文地址:https://www.cnblogs.com/wuyuntana/p/14970228.html
Copyright © 2011-2022 走看看