今天弄个小程序时,发现了一个平时没有遇到的问题,就是char型和int型2维数组在输出时,会有不同,下面直接见程序:
#include "stdafx.h"
#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
char in[][30] =
{
"avvvdtestdkd",
"atvvdedskt",
"tshihitesst",
"testabctesst",
"testabcst",
"tshihitesst"
};
cout << "(void*)in = " << (void*)in <<endl;
cout << "in = " << in <<endl;
cout << "(void*)in[0] = " << (void*)in[0] <<endl;
cout << "in[0] = " << in[0] <<endl;
cout << "&in[0] = " << &in[0] <<endl;
cout << "*in = " << *in <<endl;
cout << "*in[2] = " << *in[2] <<endl;
int a[5][5] = {{1,2,3,4,5},{1,3,4,5,6},{3,4,5,6,7},{1,4,6,7,8},{3,4,5,6,7}};
int b[3]={4,2,7};
cout << "a = " << a <<endl;
cout << "(void*)a[0] = " << (void*)a[0] <<endl;
cout << "a[0] = " << a[0] <<endl;
cout << "&a[0] = "<< &a[0] <<endl;
cout << "*a = " << *a <<endl;
cout << "*a[2] = "<< *a[2] <<endl;
![]()
#include "stdafx.h"
#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
char in[][30] =
{
"avvvdtestdkd",
"atvvdedskt",
"tshihitesst",
"testabctesst",
"testabcst",
"tshihitesst"
};
cout << "(void*)in = " << (void*)in <<endl;
cout << "in = " << in <<endl;
cout << "(void*)in[0] = " << (void*)in[0] <<endl;
cout << "in[0] = " << in[0] <<endl;
cout << "&in[0] = " << &in[0] <<endl;
cout << "*in = " << *in <<endl;
cout << "*in[2] = " << *in[2] <<endl;
int a[5][5] = {{1,2,3,4,5},{1,3,4,5,6},{3,4,5,6,7},{1,4,6,7,8},{3,4,5,6,7}};
int b[3]={4,2,7};
cout << "a = " << a <<endl;
cout << "(void*)a[0] = " << (void*)a[0] <<endl;
cout << "a[0] = " << a[0] <<endl;
cout << "&a[0] = "<< &a[0] <<endl;
cout << "*a = " << *a <<endl;
cout << "*a[2] = "<< *a[2] <<endl;