int tell[10];
cout<<tell<<endl; //值为:0x28fee8
cout<<&tell<<endl;//值为:0x28fee8
cout<<tell+1<<endl;//值为:0x28feec
cout<<&tell+1<<endl;//值为:0x28ff10
从数字上说,两个地址相同;但从概念上说,&tell[0](即tell)是一个4字节内存的地址,而&tell是一个40字节内存块的地址。因此,表达式tell+1将地址值加2,而表达式&tell+1将地址值加40.
一般来说,如果给cout提供一个指针,他将打印地址。但如果指针的类型为char*,则cout将显示指向的字符串。如果要显示的是指向字符串的地址,则必须将这种指针强制转换为另一种指针类型,如int*。