程序设计百科

广告

参数是元素的地址

2012-06-19 11:22:13 本文行家:玻尔特.李

数组不从首地址开始,从第2个元素地址开始,或者任意元素地址开始。

下面程序的运行结果是

void func(int br[])

{int i=1;

  while(br[i]<=10)

   {printf(%5d,br[i]);

     i++;

  }

}

main()

{int ar[]={2,4,8,10,8,4,11,9,7};

  func(ar+1);

  printf( );

}

分析

(1)用数组作函数参数,形参与实参必须是函数名。或者说不能是单个函数元素,而必须是数组,多个元素构成的数组。

(2)实参可以是函数名,或者是函数名的移动。

   例如:数组ar[]={2,4,8,10,8,4,11,9,7};

   ar+1=&a[1]但是不代表a[1]构成的数组或者单个元素a[1] ,而是等于从元素a[1]开始到a[8],{4,8,10,8,4,11,9,7}构成的部分数组。

(3)数组名移动表达式eg.ar+1作为实参,传递的都是部分数组,不是单个元素。数组名+数组长度-1.

运算结果

ar+1={4,8,10,8,4,11,9,7};

ar+1

4

8

10

8

4

11

9

7

br[0]

br[1]

br[2]  

br[3]

br[4]

br[5]

br[6]  

br[7]

  i=1,

  8,10,8,4

br[1]开始,所以4不显示。

 

分享:
标签: 自然科学 | 收藏
百科的文章(含所附图片)系由网友上传,如果涉嫌侵权,请与客服联系,我们将按照法律之相关规定及时进行处理。如需转载,请注明来源于www.baike.com

本文行家向Ta提问

玻尔特.李软件专业硕士生,编程,计算机硬件设计,网络。

行家更新