函数  function

命名规范:工程名第一个字母大写,变量函数名小写,不要用拼音和中文, eg:lessonFunction

一、函数声明定义

函数是具有特定功能的代码块        作用:模块化程序

用函数的好处:简化程序、提高开发效率、方便阅读和修改等

函数定义:

返回值类型  函数名(形式参数)

{

  语句

  return 返回值;

}     返回值类型:viod  int  char float.....    void下面可以不写return    ,int  下面返回值为整型,char下面返回值为字符型.....

通过函数中的return函数返回给主函数的值,称之为函数的返回值。一个函数只有一个返回值

函数分类 : 库函数  自定义函数;有返回值函数   无返回值函数;  有参数的函数   无参数的函数;

//输入年月日,看是该年的第几天
#import <Foundation/Foundation.h>
int dayofDate(int year,int month,int day)
{
int dayCount=;
int dayofMonth[]={,,,,,,,,,,,};
if (year%==||(year%==&&year%!=)) {
dayofMonth[]=;
}
for (int i=; i<month-; i++) {
dayCount+=dayofMonth[i];
}dayCount+=day;
return dayCount;
} int main(int argc, const char * argv[])
{
int sum=dayofDate(, , );
printf("%d",sum);
return ;
}

函数声明 

函数声明也就是函数的描述,也叫函数原型

从规范的角度,不要省略函数声明。 写到一个头文件中引用函数

 形参  实参

形参  出现在函数定义中,以假名字来表示函数调用时需要提供的值

实参   出现在函数调用中的表达式

注意:函数调用中,形参会拷贝实参内容,传递参数是给函数传递信息的一种方法、

数组元素作为参数,与普通变量一样

数组作为参数,把数组名传⼊,即数组的⾸地址

函数嵌套

c语言不允许函数嵌套定义,但是允许函数嵌套调用(避免嵌套定义)

不能在一个函数里写函数实现

递归函数   用的少

递归调用:函数体内调用函数本身       计算阶乘

static与const

变量的作用域:变量的有效范围

全局变量   局部变量

注意:外部变量和局部变量可重名,但是在局部变量作⽤域内只能访问局部变量。

static  无论函数用不用static静态变量,这个变量都占用内存。。。只初始化一次

static修饰的函数   只能在本文件中使用,在其他文件中不能使用。

安装ntfs 插件使u盘可读可写

const修饰的变量不能被修改

作用:保护变量不被修改。

iOS学习笔记---c语言第六天的更多相关文章

  1. iOS学习笔记---oc语言第六天

    Block .数组高级 block本质上就是匿名函数(没有名称的函数) block语法和函数指针很相似 回顾函数 函数:C语⾔中,实现某一类功能的代码段. 完整的函数包含两部分:函数声明.函数定义 函 ...

  2. IOS学习笔记07---C语言函数-printf函数

    IOS学习笔记07---C语言函数-printf函数 0 7.C语言5-printf函数 ------------------------- ----------------------------- ...

  3. IOS学习笔记06---C语言函数

    IOS学习笔记06---C语言函数 --------------------------------------------  qq交流群:创梦技术交流群:251572072              ...

  4. iOS学习笔记---oc语言第一天

    第一讲 初始类和对象 c语言的超集,允许在oc中使用c语言源代码.编译器兼容c语言程序 具备完善的面向对象特性 包含一个运行时系统 类库丰富 面向对象编程 oop 面向对象语言:c++  java   ...

  5. iOS学习笔记---c语言第八天

    指针 首先将变量a的地址存放在另一个变量中,比如存放在变量b中,然后通过变量b来间接引用变量a,间接读写变量a的值.用来存放变量地址的变量,就称为"指针变量" int *p=nul ...

  6. iOS学习笔记---oc语言第九天

    初级内存管理 iOS应用程序出现crash(闪退),90%以上是内存问题////其他:数组越界,方法只声明没实现 内存问题体现在两个方面:内存溢出\野指针异常 内存溢出:程序运行超出内存上限 野指针异 ...

  7. iOS学习笔记---oc语言第五天

    字典,数组 ,集排序 一.字典类 存储以下数据 name:张三; sex:男;age:18 film:风暴; playcount:10000次;price:60元 字典类用于保存具有映射关系(key- ...

  8. iOS学习笔记---oc语言第四天

    字符串 数组 一.使用苹果帮助文档 学会使⽤用苹果帮助⽂文档是开发者的⼀一项技能 Inherits from 继承⾃自 Conforms to 遵循什么协议 Framework 属于哪个框架 Avai ...

  9. iOS学习笔记---oc语言第三天

    继承.初始化方法 一.继承 继承的上层:父类  继承的下层:子类 继承是单向的,不能相互继承 继承具有传递性:A继承于B,B继承于C,A具有B和C的特征和行为 子类能继承父类全部的特征和行为(私有变量 ...

随机推荐

  1. Redis persistence demystified - part 2

    重写AOF 当AOF文件太大时,Redis将在临时文件重新写入新的内容.重写不会读取旧的AOF文件,而是直接访问内存中数据,以便让新产生的AOF文件最小,重写过程不需要读取磁盘. 重写完成后,Redi ...

  2. 高效前端优化工具--Fiddler入门教程

    简介: Fiddler是用C#编写的一个免费的HTTP/HTTPS网络调试器.Fiddler是以代理服务器的方式,监听系统的网络数据流动英语中Fiddler是小提琴的意思,Fiddler Web De ...

  3. Android listview 制作表格样式+由下往上动画弹出效果实现

    效果是这样的:点击按下弹出表格的按钮,会由下往上弹出右边的列表,按下返回按钮就由上往下退出界面. 布局文件: activity_main.xml <RelativeLayout xmlns:an ...

  4. 从协议VersionedProtocol开始4——AdminOperationsProtocol、InterTrackerProtocol、JobSubmissionProtocol、TaskUmbilicalProtocol

    1.package org.apache.hadoop.mapred这四个协议都在这个包下. 2.从最简单的AdminOperationsProtocol看, void refreshQueues() ...

  5. JVM-class文件完全解析-类索引,父类索引和索引集合

    类索引,父类索引和接口索引集合 前面介绍了class文件,从头开始的魔数,次版本号,主版本号,常量池入口,常量池,访问标志.那么再接下来的就是用来确定这个类的继承关系的类索引,父类索引和接口索引集合这 ...

  6. MongoDB的安装、配置服务(转)

      一,简介  MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案.  MongoDB是一个高性能,开源,无模式的文档型数据库,是当前 ...

  7. Android IPC(inter-process Communitcation)

    Android IPC(inter-process Communitcation) http://www.cnblogs.com/imlucky/archive/2013/08/08/3246013. ...

  8. SVG 2D入门2 - 图形绘制

    基本形状 SVG提供了很多的基本形状,这些元素可以直接使用,这一点比canvas好多了.废话不说了,直接看例子,这个最直接:   <svg width="200" heigh ...

  9. iOS多线程--NSOperation 浅显易懂

    NSOperation是基于GCD的一套多线程实现方案,和GCD一样,线程的生命周期是由系统来自动管理的,不用像NSThread和Pthread一样让程序员手动管理.相对于GCD来说,它更加地面向对象 ...

  10. VS2010编译Qt5.4.0静态库

    http://www.kavenblog.com/?p=375 1.Qt的跨平台十分优秀,但是在Windows上是还是会有许多问题,其中之一就是动态链接库的问题,Qt程序的发布必须带一个体积不小的DL ...