指针数组,数据指针
2025-01-27 15:31 钟铧若岩 阅读(11) 评论(0) 收藏 举报#include <iostream> using namespace std; int main() { //指针数组 int a1 = 1; int a2 = 2; int a3 = 3; int * a[3] = {&a1,&a2,&a3}; //指针数组 cout << *a[0] << *a[1] << *a[2] << endl; //输出:123 int **p = a; //指针的指针。 cout << **p << endl; cout << **(p+1) << endl; cout << **(p+2) << endl; //输出: //1 //2 //3
cout << *p << endl;
cout << *(p+1) << endl;
cout << *(p+2) << endl;
//输出:
//a1的物理地址
//a2的物理地址
//a3的物理地址
cout<< endl; int b[3] = {4,5,6}; int (*c)[3] = &b;//数组指针,指向数组地址的指针
cout << (*c+0) << endl; //输出4对应的地址
cout << (*c+1) << endl; //输出5对应的地址
cout << (*c+2) << endl; //输出6对应的地址 这三个地址是连续的
cout << *(*c+0) << endl; cout << *(*c+1) << endl; cout << *(*c+2) << endl; /* 4 5 6 */ cout << endl; cout <<"c+0 = "<< (*c)[0]<<endl; cout <<"c+1 = "<< (*c)[1]<<endl; cout <<"c+2 = "<< (*c)[2]<<endl; /* c+0 = 4 c+1 = 5 c+2 = 6 */ cout << endl; int *d = b; cout << "d + 0 = " << *(d+0) <<endl; cout << "d + 1 = " << *(d+1) <<endl; cout << "d + 2 = " << *(d+2) <<endl; //输出 /* c+0 = 4 c+1 = 5 c+2 = 6 */ return 0; }
定义和语法
指针数组