Objective-C 学习笔记(四) 数组
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的执行没有边界检查的格式化参数。
参考资料: