为什么写入的数据是内存地址??

为什么这个代码写入的数据是内存地址?

#include<iostream>
#include<fstream>
#include<string>
#include <ostream>
#include <istream>
using namespace std;
int save(){
    int fuck[30];
    fstream file("密码配置文件",ios::out); 
    if(!file.fail()){
        cout<<"开始设置"<<"\n";
        cin>>fuck[30];
        file<<fuck<<endl;
    file.close();
    }
}
int load(){
    fstream file("密码配置文件",ios::out); 
    int dio[30];
    char jojo[30];
    cout<<"请输入";
    cin>>dio[30];
    if(!file.fail()){
        while(!file.fail()){
            file.getline(jojo,30);
            if(dio[30]==jojo[30]){
                cout<<"密码正确"<<endl;
            }
            else if(dio[30]!=jojo[30]){
                cout<<"密码错误"<<endl;
            } 
        }
    }
    file.close();
}

int main(){
    cout<<"选择是设置密码,还是登陆";
    cout<<"1.设置           2.登陆"<<"\n";
    int a;
    cin>>a;
    if(a==1){
        save();
    }
    else if(a==2){
        load();
    }
    else if(a>2){
        cout<<"请输入正确指令";
    }
}

结果是0x6ffb70
这是为什么?

int dio[30];
->
char dio[30];

cin>>dio[30];
->
cin>>dio;

if(dio[30]==jojo[30]
->
if (strcmp(dio, jojo) == 0)

else if(dio[30]!=jojo[30]){
->
else {