objective-c之数组

//
//  main.m
//  数组
//
//  Created by wu jianhua on 16-8-3.
//  Copyright (c) 2016年 wujianhua. All rights reserved.
//

#import <Foundation/Foundation.h>
@interface SampleClass:NSObject
{
}

- (double) getAverage:(int[]) arr andSize:(int) size;
- (int *) getRandom;

//传递函数的指针
- (void) getSeconds:(int*)par;

@end


@implementation SampleClass

//数组作为函数参数传递
- (double)getAverage:(int [])arr andSize:(int)size
{
    int    i;
    double avg;
    double sum =0;
    
    for (i = 0; i < size; ++i)
    {
        sum += arr[i];
    }
    
    avg = sum / size;
    
    return avg;
}
//从函数返回数组
- (int *)getRandom
{
    static int  r[10];
    int i;
    
    srand( (unsigned)time( NULL ) );
    for ( i = 0; i < 10; ++i)
    {
        r[i] = rand();
        NSLog( @"r[%d] = %d", i, r[i]);
    }
    return r;
}
- (void)getSeconds:(int *)par
{
    *par=time(NULL);
    return ;
}

@end

//指针的数组
void test()
{
    /* an array with 5 elements */
    double balance[5] = {1000.0, 2.0, 3.4, 17.0, 50.0};
    double *p;
    int i;
    p = balance;
    
    NSLog(@"Array values using yiibaier");
    for ( i = 0; i < 5; i++ )
    {
        NSLog(@"*(p + %d) : %f ",  i, *(p + i) );
    }
    NSLog(@"Array values using balance as address");
    for ( i = 0; i < 5; i++ )
    {
        NSLog(@"*(balance + %d) : %f",  i, *(balance + i) );
    }
                                    
}

int main(int argc, const char * argv[])
{

    int balance[5] = {1000, 2, 3, 17, 50};
    double avg;
    
    SampleClass *sc= [[SampleClass alloc] init];
    
    avg=[sc getAverage:balance andSize:5];
    
    NSLog(@"average value is:%f ",avg);
    
    int *p=[sc getRandom];
    for(int i=0;i<10;i++)
    {
        NSLog(@"*(p+ %d)=%d",i,*(p+i));
    }
    
    int sec;
    [sc getSeconds:&sec];
    NSLog(@"sec=%d",sec);
    
    
    [sc release];
    
    //test();
    
    return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值