zoukankan      html  css  js  c++  java
  • 指针数组(int *a[])和数组指针 (int (*a)[])

    1.对指针有关的表达式阅读遵循的规则是“从右到左、由近到远、括号优先”。

    int *a[10]   从字符a开始,右侧是[10],表示a 为一个包含10个元素的数组,左侧为指针标记,表示这个数组中保存的事指针,再左边是int 表示所有的指针指向整型数据。

    int (*a)[10] 从字符a开始,括号优先,表示a是一个指针,右侧为[10]表示指针指向一个数组,左侧是int ,表示指针指向的数组为整型数组。

    辅助记忆:

    int *a[10]类比 

    1. int*   a  等价于 int   *a;

    2. int a[10]   从字符a开始,右侧是[10],表示a 为一个包含10个元素的数组,左侧是  int 表示数组元素是整型的。

    则int  *a[10]等价于int*   a[10], 从字符a开始,右侧是[10],表示a 为一个包含10个元素的数组,左侧是 int*   表示数组元素为整型指针。

    int (*a)[10] :

    则int (*a)[10]   首先知道这个表达式是一个数组,指针符号被括号括了进去,是为了和int* 区分,说明最终的数组元素为整型的,

    *a表示指针,也就是同时定义了一个指针 和一个整型数组。结合在一起就是定义了指针指向定义的整型数组

    想不到其他的好的方法去解释了,第二个辅助记忆方法有点牵强,不过只要记忆住第一个,第二个也就自然记住了。

  • 相关阅读:
    根据字符串当作变量,进行类名转换
    Python 字符分割时,只分割最后一个(rsplit的使用)
    Python之99乘法表代码
    linux 同时执行多个命令及几个基础命令
    什么是CLI、GUI
    linux命令-压缩数据
    Linux查看进程
    Linux排序数据
    Linux检测磁盘空间
    linux结束进程命令
  • 原文地址:https://www.cnblogs.com/cyyljw/p/10880508.html
Copyright © 2011-2022 走看看