传值与传地址
#include<bits/stdc++.h>
using namespace std;
//传值
void f1(int a,int b){
int t=a;
a=b;
b=t;
}
//传地址
void f2(int &a,int &b){
int t=a;
a=b;
b=t;
}
int main(){
int a=1,b=2;
cout<<a<<b<<endl;
f1(a,b);
cout<<a<<b<<endl;
f2(a,b);
cout<<a<<b<<endl;
return 0;
}
传数组名就是传数组首地址
#include<bits/stdc++.h>
using namespace std;
void f(int a[]){
a[0]=2;
}
int main(){
int a[10]={1};
cout<<a[0]<<endl;
f(a);
cout<<a[0]<<endl;
return 0;
}
全局变量&局部变量
#include<bits/stdc++.h>
using namespace std;
int a;//全局变量
void f(){
a=2;
}
void f1(int a)//a为局部变量,会屏蔽全局变量
{
a=3;
}
void f2()//a为局部变量,会屏蔽全局变量
{
int a;
a=4;
}
int main(){
a=1;
cout<<a<<endl;
f();
cout<<a<<endl;
f1(a);
cout<<a<<endl;
f2();
cout<<a<<endl;
return 0;
}
函数定义&申明
#include<bits/stdc++.h>
using namespace std;
void print();//函数定义在使用之后,需要先申明
int main(){
print();
return 0;
}
void print(){
cout<<"hello"<<endl;
}