您的位置:首页 > 编程语言 > C语言/C++

c语言-数组/指针/函数(小结)

2011-04-13 19:24 483 查看
int f() f是一個函數,返回一個整型值
int *f() f是一個函數,返回一個整型指針
int (*f)() f是一個函數指針,所指向的函數返回一個整型值
int *(*f)() f是一個函數指針,所指向的函數返回一個整型指針

int f[] f是一個整型數組
int *f[] f是一個指針數組,數組元素的類型是整型指針
int (*f)[] f是指针,指向一个数组,数组元素為整型
int f()[] 非法。f是一個函數,但是函數不可能返回一個數組,函數只能返回標量值。
int (*f[])() f是一個數組,數組元素類型為函數指針,所指向的函數返回整型值
int *(*f[])() f是一個指針數組,指針所指向的類型是返回值為整型指針的函數



int* a[10]; a是指针数组,数组每个元素是个Int类型的指针

int (*a)[10]; a是数组指针,a指向一个数组,该数组有10个Int类型的元素。所以a++会前进40个字节地址。

int a[2][3][4];



int (*p1)[2][3][4]=&a; p1为指向一个三维[2][3][4]数组的指针。

int (*p2)[3][4]=a; a==&a[0],而a[0]是一个二维[3][4]的数组。

int (*p3)[4]=a[0]; a==&a[0][0],而a[0][0]是一个一维[4]的数组。

int *p4=a[0][0]; a[0][0]==&a[0][0][0],而a[0][0][0]是一个Int类型的元素。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐