主题:【求助】向各位高手请教一个c语言中数组与指针的问题 -- 数值分析
其实指针这东西,只需要搞清两件事情:
1.指针就是个很普通的变量,只不过它里面放的不是具体的数据,而是一个地址。您要是*它,它就按着自己记下的地址去提货。
2.指针知道自己的“基类型”是个什么类型。它永远认为自己记的那个地址里放的就是基类型的数据。这点很重要,因为:
2.1 其实指针里放的只是一个起始地址,您*它的时候,它就按照自己的“基类型”的长度从它记的地址开始去取那么长的内存数据。并且将这些二进制按“基类型”的方式解读:这么多位0和1到底记录的是一个整数,还是一个数组,还是一个浮点数。
2.2 您要给指针+n,它就认为是要它指向后面第n个“基类型”数据。所以它会把自己记的地址加上个
n*基类型长度
这个第一点,只要是使用指针的都知道,没啥可说的。所以我们要用一个指针的时候,需要注意的就是要时刻记得这个指针的“基类型”是什么,这个影响到指针的大部分行为特点。
数组和指针,就一句话。数组名是一个“基类型”是数组元素类型的指针常量。可以向指针一样用,但不能改变其取值。
多维数组也是一句话。多维数组是“数组的数组”。
其实我认为C语言里的指针和数组就这么点儿东西。
希望对您有帮助。理解不对的地方也请大牛们指正。
- 相关回复 上下关系8
🙂唉,我也不想啊 数值分析 字100 2009-02-25 02:00:37
🙂你牛,这种秘密都被你发现了 frnkl 字44 2009-02-23 10:43:13
🙂透彻 数值分析 字22 2009-02-23 10:20:20
🙂我对指针的理解是这样的
🙂你搞错了多维数组的概念。 1 火雷噬嗑 字594 2009-02-22 02:49:37
🙂你这个分配法有问题 数值分析 字399 2009-02-23 10:29:28
🙂不错,这样在使用的时候更方便点儿了。花 七月半 字128 2009-02-22 08:12:29
🙂对,是在堆里而不是在栈里。 火雷噬嗑 字0 2009-02-22 08:32:22