关于数组指针和指针数组的学习笔记

来源:互联网 发布:同花顺模拟交易软件 编辑:程序博客网 时间:2024/05/21 00:45

 关于数组指针和指针数组的学习笔记
数组指针:
         顾名思义由符号优先级别可知返回终节为指针类型。如INT *P;P代表I[10];返回的值给数组中的一项。因此有叫做数组指针。原因

是[]比*的优先级别高。而后面的指针数组也是由优先级别造成的。
         如INT *P[10];
           INT I[10][20];
           P=I;//I为数组0行地址,*P++为I[X]的下一个元素。
           *(P[10]+10)=15;//给I[10][10]赋值;

指针数组:
         首先他是一个指针,这个指针组成了一个数组。原因上面提到了是优先级别的问题()高于[],由于数组也相当于一个指针变量因此

返回值也为指针,(*P)[];
          如INT (*P)[25];
            INT I[10][25];
            P=I;//注意看到数组定义了吧,是25不是10,和上面的区别出来了吧。
            *P++;
            *P[12]=12//给I[1][12]赋值。
明白了吧,他们的区别就在与此,归跟结底就是运算符优先级的问题。因此看似不怎么显眼的优先级关系表在C++的结构体系当中扮演着极其重.优先级在数组的定义中可以看出一维优先级最高其次二维依次往下类推。如I[10[20],10就是优先级别最高的。优先级对优先级的对应关系看来这些定义就迎刃而解了。

要的作用。
说白了这两种指针都是指针的指针。完全可以通过定义**P;来代替,从而减少对这些拗口的概念的使用。
有感于学了老是忘之后做的不是一定正确的心得。

原创粉丝点击