Objective-C之定义函数
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=;
int b=;
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(,));//输出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(, ));
NSLog(@"%@",sayHi(@"Kitty"));
NSLog(@"通过调用函数,返回的值为:%d",demo_method(,));//输出demo_method的值
}
return ;
}
int demo_method(int x,int y)
{
float z=(float)x/y;
NSLog(@"在函数内,还未返回时的值为:%f",z);//输出demo_method的值
return z;//返回结果
}
Objective-C之定义函数的更多相关文章
- Entity Framework 6 Recipes 2nd Edition(11-1)译 -> 从“模型定义”函数返回一个标量值
第11章函数 函数提供了一个有力代码复用机制, 并且让你的代码保持简洁和易懂. 它们同样也是EF运行时能利用的数据库层代码.函数有几类: Rowset Functions, 聚合函数, Ranking ...
- Entity Framework 6 Recipes 2nd Edition(11-2)译 -> 用”模型定义”函数过滤实体集
11-2. 用”模型定义”函数过滤实体集 问题 想要创建一个”模型定义”函数来过滤一个实体集 解决方案 假设我们已有一个客户(Customer)和票据Invoice)模型,如Figure 11-2所示 ...
- Entity Framework 6 Recipes 2nd Edition(11-2)译 -> 为一个”模型定义”函数返回一个计算列
11-3. 为一个”模型定义”函数返回一个计算列 问题 想从”模型定义”函数里返回一个计算列 解决方案 假设我们有一个员工(Employee)实体,属性有: FirstName, LastName,和 ...
- Entity Framework 6 Recipes 2nd Edition(11-4)译 -> 在”模型定义”函数里调用另一个”模型定义”函数
11-4.在”模型定义”函数里调用另一个”模型定义”函数 问题 想要用一个”模型定义”函数去实现另一个”模型定义”函数 解决方案 假设我们已有一个公司合伙人关系连同它们的结构模型,如Figure 11 ...
- Entity Framework 6 Recipes 2nd Edition(11-5)译 -> 从”模型定义”函数返回一个匿名类型
11-5. 从”模型定义”函数返回一个匿名类型 问题 想创建一个返回一个匿名类型的”模型定义”函数 解决方案 假设已有游客(Visitor) 预订(reservation)房间(hotel ) 的模型 ...
- Entity Framework 6 Recipes 2nd Edition(11-6)译 -> 从一个”模型定义”函数里返回一个复杂类型
11-6.从一个”模型定义”函数里返回一个复杂类型 问题 想要从一个”模型定义”函数返回一个复杂类型 解决方案 假设我们有一个病人(patient)和他们访客(visit)的模型,如 Figure 1 ...
- Javascript学习笔记:3种定义函数的方式
①使用函数声明语法定义函数 function sum(num1,num2){ return num1+num2; } ②使用函数表达式定义函数 var sum=function(num1,num2){ ...
- 应用C#和SQLCLR编写SQL Server用户定义函数
摘要: 文档阐述使用C#和SQLCLR为SQL Server编写用户定义函数,并演示用户定义函数在T-SQL中的应用.文档中实现的 Base64 编码解码函数和正则表达式函数属于标量值函数,字符串分割 ...
- python--基础学习(二)判断 、循环、定义函数、继承、调用
1.判断 if.elif 代码示范 # coding=utf-8 score = 90 if (score>=90): print("完美") print("优秀& ...
- SQL——用户定义函数
根据用户定义函数返回值的类型,可将用户定义函数分为如下三个类别: (1) 返回值为可更新表的函数 若用户定义函数包含单个 SELECT 语句且该语句可更新,则该函数返回的表也可更新,这样的函数称为内嵌 ...
随机推荐
- bzoj 3900: 交换茸角
3900: 交换茸角 Description 动物园里有 n 头麋鹿.每头麋鹿有两支茸角,每支茸角有一个重量.然而,一旦某头麋鹿上 两支茸角的重量之差过大,这头麋鹿就会失去平衡摔倒.为了不然这种悲剧发 ...
- c#版 mqtt 3.1.1 client 实现
c# 版 mqtt 3.1.1 client http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/mqtt-v3.1.1.html 上面为 3.1.1 协议报文 一 ...
- [移动应用安全]移动应用安全培训PPT
这是年初给公司做的移动应用安全培训,主要是针对开发的兄弟们,让大家对目前的移动领域的安全形势有个了解,以及不正确的开发所带来的危害,另外还配了个详细的word版的移动应用开发指南,后面一起附上:).
- bcp功能
#include "MyBCP.h" #include "odbcss.h" //1,Allocate an environment handle and a ...
- js:输入字数限制
Demo <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3 ...
- Struct2_定义拦截器并使用注解方式作用在Action的方法中
一.目的:通过在方法上加注解控制哪些方法需要登陆后才能访问 二.方式:利用拦截器判断用户是否登陆 三.实现步骤 定义配置文件struts.xml添加节点 1 2 3 4 5 6 7 8 9 1 ...
- JS的数组相关知识
创建数组方法一: var a1=new Array(5); console.log(a1.length); console.log(a1); //[] ,数组是空的 var a2=new Array( ...
- [转]Sql server 大数据量分页存储过程效率测试附代码
本文转自:http://www.cnblogs.com/lli0077/archive/2008/09/03/1282862.html 在项目中,我们经常遇到或用到分页,那么在大数据量(百万级以上)下 ...
- [转载]《Delphi 版 everything、光速搜索代码》 关于获取文件全路径 GetFullFileName 函数的优化
Delphi 版 everything.光速搜索代码>,文章中关于获取文件全路径的函数:GetFullFileName,有一个地方值得优化. 就是有多个文件,它们可能属于同一个目录. 譬如 Sy ...
- 推断是否是有效的IP地址
#include<stdio.h> #include<string.h> bool isValidIp(char *s) { int len=strlen(s); int i= ...