• 复杂类型的解读


    复杂类型的定义在系统编程时往往是必要的,因此我们需要掌握,至少是理解构造复杂数据类型的基本方法。

    变量定义的核心是标识符,解读变量类型要从标识符开始,从内向外,并结合优先级,一步步解读。

    1.被()括起来的部分

    2.后缀操作符

    3.前缀操作符

    4.在类型说明符最左端的基本类型或已定义的构造类型

    []和()的优先级高于*的优先级

    例子:

    1. int *tab[13]

       ·tab与[]结合,说明是个数组

       ·再与int *结合,说明数组元素是int指针

       ·tab是一个包含13个指向int类型指针的数组

    2. int (*tabp)[15]

       ·tabp与*结合,说明是个指针

       ·再与[]结合,说明指向一个int型数组

       ·tabp是一个指向包含15个元素的int数组的指针

    3. int (*p)(int)

       ·p与*结合,说明是个指针

       ·再与()结合,说明指向一个函数,参数类型为int,返回类型为int

       ·p是一个函数指针

    4. char (*fn(int))[8]

       ·fn与()结合,说明是个函数,参数类型是int

       ·再与*结合,说明函数返回一个指针

       ·再与[]结合,说明返回的指针指向一个char型数组

       ·fn是一个返回指向具有8个char型元素数组指针的函数,参数是int类型

    5. int *(*p(int))[3]

       ·p与()结合,说明是一个函数,返回一个指针

       ·再与[]几何,说明返回的指针指向一个长度为3的指针数组

       ·p是一个参数为int,返回一个指向长度为3的指针数组的指针的函数

    6. char (*(*fn2(int))[])(double)

       ·fn2与()结合,说明是一个函数,参数类型为int

       ·再与*结合,说明函数返回一个指针

       ·再与[]结合,说明函数返回的指针指向一个数组

       ·再与*结合,说明函数返回的数组元素是指针

       ·再与()结合,说明数组元素指针指向一个参数为double,返回为char的函数

       ·fn2是一个返回函数指针数组的函数,该数组元素指向一个参数int返回char的函数

  • 相关阅读:
    iOS 索引列 使用详解
    iOS 搜索条使用详解
    iOS 百度地图使用详解
    在iOS中使用ZBar扫描二维码和条形码
    自学html-five(锚点、伪类、字符实体)
    自学html-four(css初始化及html语义标签 -> h标签 p标签 img标签 有序列表 无序列表 表格 超链接)
    自学html--htree(CSS)
    自学html--two(盒模型)
    自学html--one(div布局)
    常用控件补充(UIDatePicker、UIWebView)
  • 原文地址:https://www.cnblogs.com/TaoyzDream/p/3675619.html
Copyright © 2020-2023  润新知