(*int)[4]和*int[4]的区别?

(*int)[4]和*int[4]的区别?书上虽然讲了,感觉太过抽象,似懂非懂!请帮我详细讲解下2者的区别,谢谢!... (*int)[4]和*int[4]的区别?
书上虽然讲了,感觉太过抽象,似懂非懂!
请帮我详细讲解下2者的区别,谢谢!
展开
 我来答
双鱼哎呀呀88
推荐于2017-09-25 · TA获得超过6623个赞
知道大有可为答主
回答量:6398
采纳率:69%
帮助的人:723万
展开全部
int *p[4]; //定义一个指针数组,该数组中每个元素是一个指针,每个指针指向哪里就需要程序中后续再定义了。
int (*p)[4]; //定义一个数组指针,该指针指向含4个元素的一维数组(数组中每个元素是int型)。

区分int *p[n]; 和int (*p)[n]; 就要看运算符的优先级了。
int *p[n]; 中,运算符[ ]优先级高,先与p结合成为一个数组,再由int*说明这是一个整型指针数组。
int (*p)[n]; 中( )优先级高,首先说明p是一个指针,指向一个整型的一维数组。
kaixingui2012
推荐于2017-09-06 · TA获得超过4.2万个赞
知道大有可为答主
回答量:1.4万
采纳率:81%
帮助的人:6399万
展开全部
你说的是int (*p)[4] 和 int *p[4]吧
int (*p)[4] ; p是数组指针 ,即p是指针变量,它的类型是“四个int 类型”的数据,p++会使p向后移动“四个int 类型”的空间。很少用的,一般只用在对二维数组的遍历时使用。慢慢对c熟悉了再去研究吧。int a[5][4]; p=a;这样p指向a【0】,p+1指向a【1】,.。。
int *p[4] ; p是指针数组,即p是数组名,它有四个元素,每个元素都是一个指向int 类型数据的指针
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式