C++中输出数组数据分两类情况:字符型数组和非字符型数组
当定义变量为字符型数组时,采用cout<<数组名; 系统会将数组当作字符串来输出,如:
char str[10]={'1','2'};
cout << str <<endl ; //输出12
char str[10]={'1','2'};
cout << static_cast <void *> (str) <<endl ; //按16进制输出str的地址,如:0x6afef2
static_cast 类型转换,void *是空指针类型
当定义变量为非字符符数组时,采用cout<<数组名; 系统会将数组名当作一个地址来输出,如:
int a[10]={1,2,3};
cout << a <<endl ; //按16进制输出a的值(地址) 0012FF58
如果需要输出数组中的内容,则需要采用循环,逐个输出数组中的元素,如:
int a[10]={1,2,3}; //初始化前三个元素,其余元素为0
for( int i=0;i<10;i++ )
cout << a[i] <<" " ;
cout <<endl ; //输出结果:1 2 3 0 0 0 0 0 0 0
博客介绍了C++中输出数组数据的两类情况。对于字符型数组,用cout<<数组名,系统会将其当作字符串输出,若要输出地址需强制转换;对于非字符型数组,cout<<数组名会输出数组地址,输出内容则需用循环逐个输出元素。
707

被折叠的 条评论
为什么被折叠?



