您的位置:首页 > 移动开发 > IOS开发

iOS——函数

2015-12-28 19:30 253 查看
函数 : 能够完成特定功能的代码段。

函数的好处: 1. 使代码更加简洁 2. 复用性比较强 3. 具有可移植性

4. 可修改性 5. 安全性

如何自定义函数: 有无返回值,是否需要参量

具体可以分为以下四种: 无返无参、无返有参、有返无参、有返有参。

* 无返无参  : void 空 ,表示函数没有返回值;


void buyRewind( );

* 无返有参: void 空,但是有返回值,而且为函数提供参数


void buyRewind ( int money ) ;

* 有返无参: 根据需要的返回值来选择函数前的函数类型;、

调用函数名称前面可以用一个变量来接受返回值;


int buyRewind ( );

float buyRewind ( );

char buyRewind ( );

int  a = buyRewind ( );

* 有返有参:  函数括号内需要输入为函数内提供的参数


int buyRewind ( int money );

如何使用函数:

在一个函数里使用另外一个函数,叫做函数的调用,被调用的函数叫做被调函数,在哪个函数里调用,那么它就是主调函数。

函数调用的格式: 函数名(参数列表);// 无参的列表可以不写

void swap(int a,int b); // 用于写在 main 函数之外的函数声明

void swap(int a,int b){

printf(“a = %d,b = %d\n”,a,b);

int temp = a;

a = b;

b = temp;

printf(“a = %d,b = %d\n”,a,b);

} // 函数体

// “数组名”作为函数的参数,其实传进来的事在内存中的地址;只有拿到数据在内存中的地址,才能在函数中修改它的值。

冒泡排序法的函数:

void BubbleSort(int arr[],int count){ // count 数组元素的个数

for(int i = 0;i < count-1 ;i++){

for(int j = 0 ;j < count-1-i;j++){

if(arr[j] > arr[j+1]){

int temp = arr[j];

arr[j] = arr[j+1];

arr[j+1] = temp;

}

}

}

}

void printArray(int count,int arr[]){ // 遍历函数的封装

// 遍历数组

for(int i = 0;i < count;i++){

printf(“%d\t”,arr[i]);

}

}

函数的调用:

* 定义函数的时候,参数列表里的参数是形参
* 调用函数的时候,传进来的函数是实参
* 带有参数的时候,在被调用的时候,传进的实参只是将实参里边的值拷贝一份赋值给了形参,函数运行时真正修改的只是形参,并未对实参有任何影响。
* 形参的类型和个数,决定了实参的类型和个数

调用上述的冒泡排序函数:


int arr2[5] = {1,2,3,4,5};

BubbleSort( arr2,5 );

// 输入的数组元素个数5可以使用 sizeof(数组名) / sizeof (数组名[0]) 代替

// 由于冒泡排序没有返回值,所以不用给予参数
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: