访问电脑版页面

导航:老古开发网手机版其他

指针

导读:
关键字:

与指针有关的各种说明和意义见下表。
int *p;     p为指向整型量的指针变量;

int xdata *p;   存在外部数据RAM;

int data *p;    存在内部数据RAM; 

int code *p;   存在程序代码空间;

int data *xdata p; 外部RAM指针,指向内部RAM整形数据

int xdata *data p; 内部RAM指针,指向外部RAM整形数据

      
int *p[n];   p为指针数组,由n个指向整型量的指针元素组成。


int (*p)[n];   p为指向整型二维数组的指针变量,二维数组的列数为n


int *p()    p为返回指针值的函数,该指针指向整型量


int (*p)()   p为指向函数的指针,该函数返回整型量


int **p     p为一个指向另一指针的指针变量,该指针指向一个整型量。

{ int x;
  int *px;

        //下面这些表示虽然很烦,但是生成的代码却及其简洁:

        //将 xdata 型指针 0x4000 赋给 px
        px=(int xdata *)0x4000;

        //表示从 xdata 0x4000处取一个 char 给x
        x=*((char xdata *)0x4000);

}

阅读组合说明符的规则是“从里向外”。
从标识符开始,先看它右边有无方括号或园括号,如有则先作出解释,再看左边有无*号。 如果在任何时候遇到了闭括号,则在继续之前必须用相同的规则处理括号内的内容。例如:
int*(*(*a)())[10]
↑ ↑↑↑↑↑↑
 7   6 4  2  1 3  5
上面给出了由内向外的阅读顺序,下面来解释它:
(1)标识符a被说明为;
(2)一个指针变量,它指向;
(3)一个函数,它返回;
(4)一个指针,该指针指向;
(5)一个有10个元素的数组,其类型为;
(6)指针型,它指向;
(7)int型数据。
因此a是一个函数指针变量,该函数返回的一个指针值又指向一个指针数组,该指针数组的元素指向整型量。

来源:   作者:  2006/9/25 16:50:53
栏目: [ ]

相关阅读

安森美推出新的高功率图腾柱PFC控制器,满足具挑战的能效标准

动态功耗低至60μA/MHz!助力设备超长续航,首选国民技术低功耗MCU!