数组指针

来源:互联网 发布:网络机柜布置图 编辑:程序博客网 时间:2024/06/05 07:34

#include <iostream>typedef int(*type_t)[5];int main(){type_t tmp;int a[5] = {1,2,3,4,5};tmp = &a;int *p = (int*)(&a+1);std::cout << "*(a+1) = " << *(a+1) << std::endl;std::cout << "*(p-1) = " << *(p-1) << std::endl;int aa[3][5];tmp = aa;return 0;}

大家看看这个程序,type_t是数组指针,是指向数组的指针。再这个程序中,tmp是指向长度为5的int型数组的指针,如果tmp+1,则前进的字节数是5*sizeof(int)。

而在二维数组中,数组名的类型就是数组指针,是指向数组的指针。如二维数组int  aa[m][n],则aa的类型是int(*)[n]。



int  (*s[10])(int)是函数指针数组,大小时10。函数指针的表示是:typedef  int (*func_p)(int),func_p类型就是函数指针。

原创粉丝点击