zoukankan      html  css  js  c++  java
  • 指针数组和数组指针

    指针数组和数组指针
    1、字面意思来理解指针数组和数组指针
    (1)、指针数组的实质是一个数组,这个数组中存储的内容全部是指针变量。
    (2)、数组指针的实质是一个指针,这个指针指向的是一个数组。
    2、分析指针数组和数组指针的表达式
    (1)、int *p[5]; int(*p)[5];    int *(p[5]);
    (2)、一般规律:int *p(p是一个指针); int p[5];(p是一个数组)
    总结:我们在定义一个符号时,关键在于:首先搞清楚你定义的符号是谁(第一步:找核心);其次再来看谁跟核心最近、
    谁跟核心结合(第二步,找结合);以后继续往外扩展(第三步:继续向外结合直到整个符号完成)。
    (3)、如果核心和*结合,表示核心是指针;如果核心和[]结合,表示核心是数组;如果核心和()结合,表示核心是函数;
    (4)、用一般规律来分析上述三个表达式:
    第一个:int *p[5];
     找核心:p;其次[]比*的优先级要高,所以p先和[]结合,所以p是一个数组;然后再和*结合,表示是一个指针数组;
     而且数组中存储的全部是int类型的指针变量。
    第二个:int (*p)[5];
     找核心:p;因为有(),所以p先和*结合,表示p是一个指针,然后和[]结合,所以是一个指针数组,数组中的元素全部
     是int类型。
    第三个:int *(p[5]);
     这个和第一个一样,()可有可无。
    总结1:优先级和结合性是分析符号意义的关键
        在分析C语言问题时不要胡乱去猜测规律,不要觉得C语言无从捉摸,从已知的规律出发按照既定的规则去分析即可。
    总结2:学会逐层剥离的分析方法
     找到核心后从内到外逐层的进行结合,结合之后可以把已经结合的部分当成一个整体,再去和整体外边的继续结合。
    总结3:基础理论和原则是关键,没有无缘无故的规则

  • 相关阅读:
    问题账户需求分析
    2017年秋季个人阅读计划
    阅读笔记01
    个人总结
    第二阶段站立会议07
    第二阶段站立会议06
    第二阶段站立会议05
    第二阶段站立会议04
    第二阶段站立会议03
    学习进度条(第十五周)
  • 原文地址:https://www.cnblogs.com/jiangtongxue/p/11380941.html
Copyright © 2011-2022 走看看