• C 语言复杂声明


    int board [8] [8] ;  //声明一个内含 int 数组的数组

    int ** ptr ;  //声明一个指向指针的指针,被指向的指针指向 int

    int * risks [10] ;  //声明一个内含 10 个元素的数组,每个元素都是一个指向 int 的指针

    int (* risks)[10] ;  //声明一个指向数组的指针,该数组内含10个 int 类型的值

    int  * off [3] [4] ;  //声明一个 3*4 的二维数组,每个元素都是指向 int 的指针

    int (* uuf)[3] [4] ;  //声明一个指向 3*4 的二维数组的指针,该数组中内含 int 类型值

    int (* uof [3]) [4];   //声明一个内含3个指针元素的数组,其中每个指针都指向一个内含4个 int 类型元素的数组

    *理解 * 、()、 [ ] 的优先级

    1、数组名后面的 [ ] 和函数名后面的 () 具有相同的优先级。它们比 * (解引用运算符)的优先级高。因此下面声明的 risk 是一个指针数组, 不是指向数组的指针:

      int * risks [10] ;  指针数组——-内含 10 个元素的数组,每个元素都是一个指向 int 的指针

    2、[ ] 和 ( ) 的优先级相同,由于都是从左往右结合 ,所以下面的声明中,在应用方括号之前, * 先

  • 相关阅读:
    Assetbundle资源单一打包,以及加载方法
    VS2010 Chromium编译
    一道思考题
    Windbg源码调试
    C++ static_cast dynamic_cast reinterpret_cast const_cast转换
    条件断点设置
    FFmpeg 2.0编译配置
    error LNK2001: 无法解析的外部符号 _IID_IDirectDraw7
    Windbg常用命令
    DDraw绘图
  • 原文地址:https://www.cnblogs.com/moyu557/p/10732379.html
Copyright © 2020-2023  润新知