linuxC/C++数组指针和指针数组

一、指针数组

/*********************************************************
	1.这是一个数组   因此长度为数组长度
	2.这个数组存放5个指针
	3.这个数组的五个指针都指向 int 类型变量
**********************************************************/
int *arrInt[5];
sizeof(arrInt) = sizeof(int *[5]) = 5*4=20
printf("sizeof(arrInt) = %d\n",sizeof(arrInt));   //输出20

 

二、数组指针

/*************************************************  
	1.这是一个指针  因此大小为指针大小
	2.这个指针指向一个长度为 5 的一维数数组
	3.这个数组的类型是 int 类型
**************************************************/
int (*arrInt)[5]
sizeof(arrInt) = sizeof(int *) = 4 
printf("sizeof(arrInt1) = %d\n",sizeof(arrInt1));    //输出4

三、举例

参考:linuxC/C++指针函数和函数指针 和 C/C++指针与一维数组与函数形参(int类型)

例一:int (*a[10])(int)

1. a是一个数组  2. a这个数组的元素是一个指针  3. 指针是一个函数指针  4. 这个函数参数是int,返回值是int

例二:int (*(*p)[10])(int*)

1. p是一个指针  2. p这个指针指向一个数组  3. 数组元素是指针  4. 数组元素的指针指向一个函数  5. 这个函数参数是int*,返回值是int

例三:

int *a[10];         //指向int类型的指针数组a[10] 
int (*a)[10];       //指向有10个int类型的数组的指针a 
int (*a)(int);      //函数指针,指向有一个参数并且返回类型均为int的函数 
int* a(int);        //定义一个int参数并且返回类型为int*的函数  
int (*a[10])(int);  //函数指针的数组,指向有一个参数并且返回类型均为int的函数的数组

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值