数组指针、指针数组 And 函数指针、指针函数
时间:2010-11-09 来源:juruqiang
1、数组指针(指向数组的指针)
int (*pb)[10];
首先,由于()的存在,pb与*结合,则pb是一指向数组的指针变量。
然后,与[10]结合,表示pb指向的对象是有10个整形元素的数组,即pb是行指针。
一维数组:int a[10];
一维数组的指针:int *pa; pa = a; //pa指向了一维数组的首地址。
二维数组:int b[10][10];
二维数组的指针:int (*pb)[10]; pb = b; //pb指向了二维数组b[10][10]的首地址。 2、指针数组(特定对象指针的数组) int *pc[10]; []的优先级高于*,pc[10]是一数组,有10个元素; int *:说明保存在数组中的类型。 3、函数指针(指向函数的指针) int (*p)(); *p: 说明p是一个指针变量。 (): 说明p是一个指向函数入口地址的指针变量 4、指针函数(返回特定指针的函数) int *p(); p(): 说明p是一个函数 int *: 返回值类型。 [嵌入式C精华文章. 第16页,用英文更能说明白]
int (*pb)[10];
首先,由于()的存在,pb与*结合,则pb是一指向数组的指针变量。
然后,与[10]结合,表示pb指向的对象是有10个整形元素的数组,即pb是行指针。
一维数组:int a[10];
一维数组的指针:int *pa; pa = a; //pa指向了一维数组的首地址。
二维数组:int b[10][10];
二维数组的指针:int (*pb)[10]; pb = b; //pb指向了二维数组b[10][10]的首地址。 2、指针数组(特定对象指针的数组) int *pc[10]; []的优先级高于*,pc[10]是一数组,有10个元素; int *:说明保存在数组中的类型。 3、函数指针(指向函数的指针) int (*p)(); *p: 说明p是一个指针变量。 (): 说明p是一个指向函数入口地址的指针变量 4、指针函数(返回特定指针的函数) int *p(); p(): 说明p是一个函数 int *: 返回值类型。 [嵌入式C精华文章. 第16页,用英文更能说明白]
|
相关阅读 更多 +