iOS——函数

来源:互联网 发布:dijkstra算法步骤s=, 编辑:程序博客网 时间:2024/06/05 11:20

函数 : 能够完成特定功能的代码段。

函数的好处: 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]) 代替
// 由于冒泡排序没有返回值,所以不用给予参数

0 0