#include <iostream> #include <string> int main() { using namespace std; char t[5]={'a','b','c','f','g'}; for(char *b=t,*q=b+5;b!=q;b++) {//注意cout对char类型的处理 cout << (void*)b << endl;
cout << b << endl;
cout << *b << endl; } int t2[5]={1,2,3,4,5}; for(int *b=t2,*q=b+5;b!=q;b++) { cout << *b << endl; } int* t3=t2; cout << "&t2 pointer value = " << &t2 <<endl; cout << "t3 pointer value = " << t3 <<endl; cout << "*t2 value=" << *t2 <<" | " << "*t3 value = " << *t3<<endl; cout << "t2[0] value = " << t2[0] <<" | " << "t3[0] value = " << t3[0]<<endl; return 0; }
注意上面代码,void*则为“无类型指针”,void*可以指向任何类型的数据,不能对void指针进行算法操作
程序执行结果:
a b c f g 1 2 3 4 5 &t2 pointer value = 0x22ac40 t3 pointer value = 0x22ac40 *t2 value=1 | *t3 value = 1 t2[0] value = 1 | t3[0] value = 1 运行 SUCCESSFUL (总时间: 110ms)