值传递与地值传递
值传递:实参将值传递给形参,运行完子函数之后实参的值不发生改变;
地址传递:将实参的地址里面的值传递给形参,运行完子函数之后,实参发生改变;
#include <iostream>
using namespace std;
/*
Function action:Bubble sort arr by passing by value and address;
Formal parameter:*arr,len;
Bubble sort:Move the large number in the array to the back;
*/
void Bubbling(int *arr,int len)
{
for(int i=len-1;i>=0;i--)
{
for(int j=0;j<i;j++)
{
if(arr[j]>arr[j+1])
{int temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;}
}
}
}
/*
Function action:Print array;
Formal parameter:*arr,len;
*/
void prints(int *arr,int len)
{
for(int i=len;i>0;i--)
{
cout<<"数组的最后一位为"<<arr[i-1]<<endl;
}
}
int main(int argc, const char * argv[]) {
int arr[10]={10,9,8,7,6,5,4,3,2,1};
int len=(sizeof(arr)/sizeof(arr[0]));
Bubbling(arr,len);
prints(arr,len);
return 0;
}