烟花绽放 发表于 2016-1-6 08:59:20

数组指针(也称行指针)
定义 int (*p);
()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长。也就是说执行p+1时,p要跨过n个整型数据的长度。
指针数组
定义 int *p;
[]优先级高,先与p结合成为一个数组,再由int*说明这是一个整型指针数组,它有n个指针类型的数组元素。这里执行p+1是错误的,这样赋值也是错误的:p=a;因为p是个不可知的表示,只存在p、p、p...p,而且它们分别是指针变量可以用来存放变量地址。但可以这样 *p=a; 这里*p表示指针数组第一个元素的值,a的首地址的值。

zhangdaijin 发表于 2016-1-6 09:00:32

指针数组:array of pointers,即用于存储指针的数组,也就是数组元素都是指针

数组指针:a pointer to an array,即指向数组的指针

星星王 发表于 2016-1-6 09:00:49

出题真是越来越有水平了,上网搜了一下,概念如下:
指针数组:即用于存储指针的数组,也就是数组元素都是指针
数组指针:即指向数组的指针
int* a   指针数组   
               表示:数组a中的元素都为int型指针   
               元素表示:*a   *(a)是一样的,因为[]优先级高于*
int (*a)   数组指针   
               表示:指向数组a的指针
               元素表示:(*a)

watershade 发表于 2016-1-6 09:02:43

这个顾名思义。数组指针是这个数组的指针,实际上可以用数字符号访问。指针数组是一个数组,只不过内部存储的是指针。这个指针数组也有一个数组指针,这个指针就是一个指向指针的指针。

yanhaijian 发表于 2016-1-6 09:06:49

天天签到。

creep 发表于 2016-1-6 09:07:18

Paderboy 发表于 2016-1-6 08:45
数组指针与指针数组的区别在于:数组指针p是一个指针,而指针数组p是一个存放N个指针变量的数组。
一、数组 ...

学习了:)                  

chifen 发表于 2016-1-6 09:08:40

数组指针:数组名本身就是一个指针,指向数组的首地址。注意这是声明定长数组时,其数组名指向的数组首地址是常量。而声明数组并使某个指针指向其值指向某个数组的地址(不一定是首地址),指针取值可以改变。

数组指针:是指向数组的一个指针,如int (*p) 表示一个指向10个int元素的数组的一个针

指针数组

    一个数组,若其元素均为指针类型数据,称为指针数组。 也就是说,指针数组中每一个元素都相当于一个指针变量。其详细形式应该如下: *a, ...*a. 每一个数组里面存储的是其指向的地址;一维指针数组的定义形式为:类型名 *数组名[数组长度]

lising 发表于 2016-1-6 09:09:06

签到签到

超級稻草人 发表于 2016-1-6 09:10:36

数组指针是指向这个数组首地址的指针,指向对象是这个数组;
指针数组是存放一类指针的数组,这个数组的每个元素都是一个指针;

wambob 发表于 2016-1-6 09:12:00

一个是指向数组,一个是存储指针的
页: 1 [2] 3 4 5 6 7 8 9 10 11
查看完整版本: 【1.6签到】每日问答——指针数组和数组指针有啥区别?