C语言中:数组指针与指针数组有什么区别?
答案:2 悬赏:80
解决时间 2021-11-17 12:21
- 提问者网友:听门外雪花风
- 2021-11-17 01:01
C语言中:数组指针与指针数组有什么区别?
最佳答案
- 二级知识专家网友:刀戟声无边
- 2021-11-17 02:15
指针数组
一个数组的成员都是指针它就是指针数组了
至于指向的是什么东东要在定义时就说好了的
行指针
二维数组用的东西
比如
a[5][5]
a[0]就是一个行指针
也是a[0]这一行的这个一维数组的首地址
也就是说a[0]的地址和a[0][0]的地址还有a是同一个地址
a[0]就是{a[0][0],a[0][1],a[0][2],a[0][3],a[0][4]}这个数组的首地址
a[0]+1就是指向下一行a[1]了
如果一个指针数组(一维的)
它的成员每一个指针都指向一个一维数组
那么他们都可以理解为行指针(JAVA里的好像就莫的二维数组,要用多维数组好像就要这么构造)
谭浩强老先生对于二维数组的阐述还是很精辟的
仔细看看
想明白二维数组这些个问题基本上就都能想出来了
一个数组的成员都是指针它就是指针数组了
至于指向的是什么东东要在定义时就说好了的
行指针
二维数组用的东西
比如
a[5][5]
a[0]就是一个行指针
也是a[0]这一行的这个一维数组的首地址
也就是说a[0]的地址和a[0][0]的地址还有a是同一个地址
a[0]就是{a[0][0],a[0][1],a[0][2]
a[0]+1就是指向下一行a[1]了
如果一个指针数组(一维的)
它的成员每一个指针都指向一个一维数组
那么他们都可以理解为行指针(JAVA里的好像就莫的二维数组,要用多维数组好像就要这么构造)
谭浩强老先生对于二维数组的阐述还是很精辟的
仔细看看
想明白二维数组这些个问题基本上就都能想出来了
全部回答
- 1楼网友:零点过十分
- 2021-11-17 03:31
数组指针是指向这个数组首地址的指针,指向对象是这个数组;
指针数组是存放一类指针的数组,这个数组的每个元素都是一个指针;
例子:
int a[10];
int* s;
s = a;//这里s就是一个数组指针,它的值就是数组a 的首地址;当然,如果a是一个整数,那s就是一个指向整型的指针;
int a;
int* s[5];
for(int i=0;i<5;i++)s[i]=a;
//这里s就是一个指针数组,它的每个元素都是整型变量a的地址
应该算比较明白了吧
谢楼上提醒
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯