Objective-C 学习笔记,四 数组

如果想在一个函数作为参数,通过一维数组,就必须声明函数形式参数

  • 方式一 指针作为形式参数
- (void) myFunction(int *) param
{……}
  • 方式二 作为大小的数组形式参数
- (void) myFunction(int [10] )param
{……}
  • 方式三 形式化参数作为未确定大小数组
-(void) myFunction: (int []) param
{……}

实例

将数组作为参数随着另一种说法的基础上传递过来的参数,它会返回平均通过数组的数字

 1 #import <Foundation/Foundation.h>
 2  
 3 @interface SampleClass:NSObject
 4 
 5 /* function declaration */
 6 -(double) getAverage:(int []) arr andSize:(int) size;
 7 
 8 @end
 9 
10 @implementation SampleClass
11 
12 -(double) getAverage:(int []) arr andSize:(int) size            //未确定大小数组
13 {
14   int    i;
15   double avg;
16   double sum = 0;
17 
18   for (i = 0; i < size; ++i)
19   {
20     sum += arr[i];
21   }
22 
23   avg = sum / size;
24 
25   return avg;
26 }
27 
28 @end
29 
30 int main ()
31 {
32    /* an int array with 5 elements */
33    int balance[5] = {1000, 2, 3, 17, 50};
34    double avg;
35    
36    SampleClass *sampleClass = [[SampleClass alloc]init];
37    /* pass yiibaier to the array as an argument */
38    avg = [sampleClass getAverage:balance andSize: 5] ;
39  
40    /* output the returned value */
41    NSLog( @"Average value is: %f ", avg );          //%f 浮点数
42     
43    return 0;
44 }

解惑:

  • 函数中数组的长度并不重要,因为Objective-C的执行没有边界检查的格式化参数。

参考资料:

[1] 易百教程 Objective-C 数组作为函数参数