传值与传地址

#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;
}

发表评论