(*int)[4]和*int[4]的区别?
(*int)[4]和*int[4]的区别?书上虽然讲了,感觉太过抽象,似懂非懂!请帮我详细讲解下2者的区别,谢谢!...
(*int)[4]和*int[4]的区别?
书上虽然讲了,感觉太过抽象,似懂非懂!
请帮我详细讲解下2者的区别,谢谢! 展开
书上虽然讲了,感觉太过抽象,似懂非懂!
请帮我详细讲解下2者的区别,谢谢! 展开
2个回答
展开全部
int *p[4]; //定义一个指针数组,该数组中每个元素是一个指针,每个指针指向哪里就需要程序中后续再定义了。
int (*p)[4]; //定义一个数组指针,该指针指向含4个元素的一维数组(数组中每个元素是int型)。
区分int *p[n]; 和int (*p)[n]; 就要看运算符的优先级了。
int *p[n]; 中,运算符[ ]优先级高,先与p结合成为一个数组,再由int*说明这是一个整型指针数组。
int (*p)[n]; 中( )优先级高,首先说明p是一个指针,指向一个整型的一维数组。
int (*p)[4]; //定义一个数组指针,该指针指向含4个元素的一维数组(数组中每个元素是int型)。
区分int *p[n]; 和int (*p)[n]; 就要看运算符的优先级了。
int *p[n]; 中,运算符[ ]优先级高,先与p结合成为一个数组,再由int*说明这是一个整型指针数组。
int (*p)[n]; 中( )优先级高,首先说明p是一个指针,指向一个整型的一维数组。
展开全部
你说的是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 类型数据的指针
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 类型数据的指针
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询