西西河

主题:【求助】向各位高手请教一个c语言中数组与指针的问题 -- 数值分析

共:💬84 🌺26 新:
全看分页树展 · 主题 跟帖
家园 我对指针的理解是这样的

其实指针这东西,只需要搞清两件事情:

1.指针就是个很普通的变量,只不过它里面放的不是具体的数据,而是一个地址。您要是*它,它就按着自己记下的地址去提货。

2.指针知道自己的“基类型”是个什么类型。它永远认为自己记的那个地址里放的就是基类型的数据。这点很重要,因为:

2.1 其实指针里放的只是一个起始地址,您*它的时候,它就按照自己的“基类型”的长度从它记的地址开始去取那么长的内存数据。并且将这些二进制按“基类型”的方式解读:这么多位0和1到底记录的是一个整数,还是一个数组,还是一个浮点数。

2.2 您要给指针+n,它就认为是要它指向后面第n个“基类型”数据。所以它会把自己记的地址加上个

n*基类型长度

这个第一点,只要是使用指针的都知道,没啥可说的。所以我们要用一个指针的时候,需要注意的就是要时刻记得这个指针的“基类型”是什么,这个影响到指针的大部分行为特点。

数组和指针,就一句话。数组名是一个“基类型”是数组元素类型的指针常量。可以向指针一样用,但不能改变其取值。

多维数组也是一句话。多维数组是“数组的数组”。

其实我认为C语言里的指针和数组就这么点儿东西。

希望对您有帮助。理解不对的地方也请大牛们指正。

全看分页树展 · 主题 跟帖


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河