数组指针到底是个什么东西
这个指针数组我能理解,就是由指针组成的数组,有用。但是这个数组指针是个什么东西?写法这么复杂,光靠视频里的东西也不全明白,就我的理解是一个指向数组的指针,那不就是和给指针赋一个数组的值是一样的吗?那还非费这个劲干嘛啊?
还是说我理解错了啊?还有别的功能吗?
求各位大佬指点。。。 已经说得很清楚了,2句话,自己多读几遍
指针数组:是一个数组,数组里面存入的指针变量
数组指针:是一个指针,该指针指向了一个数组 ba21 发表于 2019-10-23 16:31
已经说得很清楚了,2句话,自己多读几遍
指针数组:是一个数组,数组里面存入的指针变量
数组指针:是一 ...
我不是分不清啦,我只是不明白为什么还要用数组指针这个概念啊?直接用指针不可以吗?指针指向数组名和数组指针指向数组,两者之间有什么区别啊? 老坚果 发表于 2019-10-23 16:43
我不是分不清啦,我只是不明白为什么还要用数组指针这个概念啊?直接用指针不可以吗?指针指向数组名和数 ...
指针是指针。数组指针是数组指针。
各有各的用处 ba21 发表于 2019-10-23 16:59
指针是指针。数组指针是数组指针。
各有各的用处
您这不是跟没说一样吗 int (*p) , * q ;
要说数组指针和普通指针的区别,p 指向由 8 个整型数数组构成的单元,所以,p ++ 的时候,指针跨度是 8 个整型数构成的存储单元,所以,p 应该指向末维为 8 的多维整型数组,适合数组元素的大段定位;q 只是普通的整型数指针,q ++ 的跨度只是一个整型数所占用的存储单元,适合挨个访问数组中的元素。 老坚果 发表于 2019-10-23 17:08
您这不是跟没说一样吗
我写本书给你好不好? jackz007 发表于 2019-10-23 17:09
要说数组指针和普通指针的区别,p 指向由 8 个整型数数组构成的单元,所以,p ++ 的时候,指针跨 ...
意思是输出数组指针指向的值的时候 输出的是整个数组的值 ,是这个意思吗?那末维是什么意思啊? ba21 发表于 2019-10-23 17:15
我写本书给你好不好?
抱歉抱歉 是我鲁莽了 jackz007 发表于 2019-10-23 17:09
要说数组指针和普通指针的区别,p 指向由 8 个整型数数组构成的单元,所以,p ++ 的时候,指针跨 ...
对了 老哥 我还想问一下
就是(*p2) 这个是一个数组指针
和他对应的*(*p2+i)这是个什么意思啊?视频里说这个*p2是取地址的用法 可指针加*不应该是取值的意思吗? 老坚果 发表于 2019-10-23 17:18
意思是输出数组指针指向的值的时候 输出的是整个数组的值 ,是这个意思吗?那末维是什么意思啊?
int array
上面的定义就是末维为 8 的整型数组,无论有多少维,只要最后那一维是 8 个元素就是了。
指向数组的指针所指向的数值仍然是指针(地址),如果要访问具体的数组元素还需要继续取值。
研究一下下面的代码,对你也许会有所帮助:
#include <stdio.h>
main(void)
{
int array = {{1 , 2 , 3 , 4 ,5 , 6 , 7 , 8} ,\
{11 , 12 , 13 , 14 , 15 , 16 , 17 , 18} ,\
{21 , 22 , 23 , 24 , 25 , 26 , 27 , 28} ,\
{31 , 32 , 33 , 34 , 35 , 36 , 37 , 38} ,\
{41 , 42 , 43 , 44 , 45 , 46 , 47 , 48}} ;
int (* p) ;
p = array ;
printf("array = %d\n" , * (* (p + 3) + 6)) ;
}
本帖最后由 老坚果 于 2019-10-23 18:52 编辑
jackz007 发表于 2019-10-23 17:38
int array
上面的定义就是末维为 8 的整型数组,无论有多少维,只要 ...
老哥 你这个代码直接把我搞懵了啊 我理解了一下 有种懵懵懂懂抓住了点什么的感觉 但是理解的有点奇葩 所以我也不确定对不对啊。。。
老哥你我理解的对不对啊:
*号并不仅仅用于指针的取值,他的根本作用在于降维的时候对某一区域值的定位 。
是这样吗哥? 老坚果 发表于 2019-10-23 17:27
对了 老哥 我还想问一下
就是(*p2) 这个是一个数组指针
同是这个问题
爱喝可乐的JQ 发表于 2019-11-1 17:21
同是这个问题
这个我现在可以回复你了,星号实际上是解引用的意思。也就是说这个数组指针第一次解引用获得了它所指向数组的地址,而数组名就意味着地址,地址上再进行的运算就相当于在数组中挑选相应的数据,然后在进行解引用。我这帖子都结了,你回复别人看不到的 老坚果 发表于 2019-11-5 17:13
这个我现在可以回复你了,星号实际上是解引用的意思。也就是说这个数组指针第一次解引用获得了它所指向数 ...
谢谢{:10_254:}
页:
[1]