pt=*(pointer + n);/**< 不加*居然也能正常运行? */
pt = pointer+n與 pt = *(pointer+n) 都是一樣的啊
舉個例子好了
a
如果你要表達第三行的地址可以用以下方法:
1= a+2
2= *(a+2)
3= a
4= &a
5= &a+2
五種方法, 你看懂了嗎?
但是, 我只會用一種方法, 就是編號2, 感覺比較不會出錯, 初學者挑這個方法就好了
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)就一样了,都是表示地址了,但是还是最好加上*号,至少,看起来好看一些,理解了意思,你怎么写都行。
笨笨熊 发表于 2014-5-13 21:50 static/image/common/back.gif
double(*pointer),是数组指针,
pointer是一个指针变量,它指向包含4个double元素的一维数组,此时poi ...
vs中把项目属性中的
警告等级 设置成 启用所有警告 (/Wall)
将警告视为错误 设置成 是 (/WX)
其他编译器请修改相应的选项。
你的c编程能力将得到迅速提高!!!
不信就试试看... 不懂,混鱼币的,呵呵
页:
[1]