• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Objective-C之定义函数

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

Demo1.m

一个基础的函数定义

#import<Foundation/Foundation.h>
//定义一个返回值为int类型的,名为max的函数。传入的参数为两个int型数据
int max(int x,int y)
{
    int z=x>y?x:y;
    return z;//返回结果
}
int main(int argc,char * argv[])
{
    @autoreleasepool{
        int a=6;
        int b=9;
        int result=max(a,b);//将a,b传入max函数,得到的返回值赋值给result
        NSLog(@"%d",result);//输出result的值
    }
}

Demo2.m

需要注意的地方

1.当函数指定的返回值类型和函数内return的值的类型不一样时,以函数指定的返回值类型为准

2.定义函数尽量定义在main函数前,虽然在Xcode中放在main函数后也可以,但是这并不符合C99标准,在其它运行环境中可能就会报错

(如果有强迫症或其它原因,一定要把函数放在在main函数后面,并且又想保持语言的规范性,那么请看Demo3.m)

3.如果函数没有返回值,一定要明确指定函数返回值类型为void

#import<Foundation/Foundation.h>
int main(int argc,char * argv[])
{
    @autoreleasepool{
        NSLog(@"通过调用函数,返回的值为:%f",demo_method(10,3));//输出demo_method的值
    }
}
//定义一个返回值为int类型的,名为demo_method的函数。传入的参数为两个int型数据
int demo_method(int x,int y)
{
    float z=x/y;
    NSLog(@"在函数内,还未返回时的值为:%f",(float)z);//输出demo_method的值//其中float是强制数据类型转换
    return z;//返回结果
}

Demo3.m

函数声明

好吧,其实Demo3.m和Demo2.m没什么差别,只是在main函数前把自定义函数事先声明了一下,让编译器知道我拥有一个叫demo_method的函数。声明格式很简单,看Demo3.m第一行代码就知道了

当然也可以写成

int demo_method(int,int);

也就是说形参列表不指定形参名,而是直接指定形参类型就OK了

int demo_method(int x,int y);
int main(int argc,char* argv[])
{
    @autoreleasepool {
        NSLog(@"The max is:%d.\n",max(8, 9));
        NSLog(@"%@",sayHi(@"Kitty"));
        NSLog(@"通过调用函数,返回的值为:%d",demo_method(10,3));//输出demo_method的值
    }
    return 0;
}
int demo_method(int x,int y)
{
    float z=(float)x/y;
    NSLog(@"在函数内,还未返回时的值为:%f",z);//输出demo_method的值
    return z;//返回结果
}

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Objective-C中的属性机制发布时间:2022-07-12
下一篇:
objective-c强弱引用、properties的学习发布时间:2022-07-12
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap