永发信息网

怎么更好的去理解数组指针?

答案:2  悬赏:50  手机版
解决时间 2021-03-15 00:08
  • 提问者网友:趣果有间
  • 2021-03-14 17:21
麻烦详细的介绍一下、总被概念搞糊涂。
最佳答案
  • 五星知识达人网友:大漠
  • 2021-03-14 18:05
一:数组指针:数组名本身就是一个指针,指向数组的首地址。注意这是声明定长数组时,其数组名指向的数组首地址是常量。而声明数组并使某个指针指向其值指向某个数组的地址(不一定是首地址),指针取值可以改变。 二:数组指针:是指向数组的一个指针,如int (*p)[10] 表示一个指向10个int元素的数组的一个指针。 另外还有一个指针数组 主要用来指向若干字符串,使字符串的处理更加灵活。同时,我们应该清楚知道,字符串本身就是一个一维数组。 对于指针数组应注意以下几点: (1):数组中的元素均为指针类型数据 (2):在给数组赋值时,表面看到是比如字符串等,但实际数组元素本身的值并不是字符串,而是字符串的首地址 eg. main() { void sort(char *name[],int n); char *name[]={"Follow me","The C language","Great Wall","How to inprove your programming technice"}; //这里返回指针值的数组name[]各元素的值并不是以上这些字符串,而是这些字符串的首地址 ...... } 这是两则的区别。 指针数组:指针的数组,数组的元素是指针; int *p[2]; 首先声明了一个数组,数组的元素是int型的指针,这个数组的元素是p[0], p[1]两个整形指针 数组指针:指向数组的指针。 int s[2], *p; p = s; 这个数组的元素是2个整型数
全部回答
  • 1楼网友:躲不过心动
  • 2021-03-14 18:39

数组指针应该是指向数组的指针,比如int a[3];  int *p=a; 

a是一个数组,p就是指向它的指针,因为数组名a就是数组a的首地址。

而对于这样的形式:int *p=a[1];  p是指向数组元素的指针,不是数组指针。

数组这块的知识可以看下 http://www.jizhuomi.com/software/74.html

上的讲解。希望可以帮到你。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯