suweixiao 发表于 2013-12-29 16:55:00

老小孩 发表于 2013-12-30 19:29:21

我是来混鱼币的。。。。

zhongguoren 发表于 2013-12-30 23:19:21

好久不看指针了,貌似是这样:那是个二维数组,加不加 * 号,指的都是一个地址,但意义不同。

五号智能 发表于 2014-1-11 10:13:49

我也是混鱼币的.....

动感超人xx 发表于 2014-5-13 16:04:19

混鱼币·~~~~~~~~~~~

egbert 发表于 2014-5-13 17:43:12

没看懂 求解释

命运ˊ;丶╲ 发表于 2014-5-13 19:19:43

我也是混鱼币的...

kikiatw 发表于 2014-5-13 21:29:02

本帖最后由 kikiatw 于 2014-5-13 21:32 编辑

pt=*(pointer + n);/**< 不加*居然也能正常运行? */

pt = pointer+n與 pt = *(pointer+n) 都是一樣的啊
舉個例子好了
a
如果你要表達第三行的地址可以用以下方法:
1= a+2
2= *(a+2)
3= a
4= &a
5= &a+2
五種方法, 你看懂了嗎?
但是, 我只會用一種方法, 就是編號2, 感覺比較不會出錯, 初學者挑這個方法就好了

笨笨熊 发表于 2014-5-13 21:50:57

double(*pointer),是数组指针,
pointer是一个指针变量,它指向包含4个double元素的一维数组,此时pointer的增量以它所指向的一维数组长度为单位;
pointer+n,地址增加一维数组的单位长度的N倍,依然是个地址
*(pointer+n)还是个地址.

假设n = 4
double *pt = *(pointer+4) ;
pointer+4是个4个一维数组长度单位的首地址,对*运算。

数组指针名就相当于二维数组名
对于二维数组
*a,a都是数组的首地址
既然数组指针名相当于二维数组名,那么*(pointer+n)自然就跟(pointer+n)就一样了,都是表示地址了,但是还是最好加上*号,至少,看起来好看一些,理解了意思,你怎么写都行。

zhihuzheye 发表于 2014-5-13 23:03:06

笨笨熊 发表于 2014-5-13 21:50 static/image/common/back.gif
double(*pointer),是数组指针,
pointer是一个指针变量,它指向包含4个double元素的一维数组,此时poi ...

vs中把项目属性中的
警告等级            设置成   启用所有警告 (/Wall)
将警告视为错误   设置成   是 (/WX)
其他编译器请修改相应的选项。

你的c编程能力将得到迅速提高!!!
不信就试试看...

alexpenf 发表于 2014-5-18 21:41:03

不懂,混鱼币的,呵呵
页: [1]
查看完整版本: 把我惊呆了,不加*居然也能一样的结果?求助~~