int类型的数组,在访问时不能像字符串那样直接全部访问,只能一一访问,不能这样:
#include<iostream>
#include<Windows.h>
using namespace std;
int main(void) {
int name[64] = {0};
cout << name << endl;
cout << &name << endl;
cout << &name[0] << endl;
system("pause");
return 0;
}
name本身就是一个地址,这个地址就是数组值内存中的地址,也是数组中第一位成员的地址!
这样会输出的都是这个数组的地址,而不会是预期的64个0!
可以使用for循环来访问:
#include<iostream>
#include<Windows.h>
using namespace std;
int main(void) {
int name[64] = {0};
for(int i=0; i<64; i++) {
cout << name[i];
//或者使用指针访问
cout << *(name+i);
}
system("pause");
return 0;
}
而字符串可以直接输出
#include<iostream>
#include<string>
#include<Windows.h>
using namespace std;
int main(void) {
char name[64] = {"天杀的"};
cout << name << endl;
//或者是
string name = "天杀的";
cout << name << endl;
system("pause");
return 0;
}