#include <iostream>
using namespace std;
int main(int argc, char** argv) {
float h_ranges[] = { 100.5, 200.5 };
float s_ranges[] = { 300.5, 400.5 };
const float* ranges[] = { h_ranges, s_ranges };
//是一个二维数组
cout<<"指针数组如下:\n\nfloat h_ranges[] = { 100.5, 200.5 };\nfloat s_ranges[] = { 300.5, 400.5 };\nconst float* ranges[] = { h_ranges, s_ranges }; "<<endl;
cout << "\n输出如下:\n" << endl;
cout << "打印的表达式\t表达式的输出值\n" << endl;
cout << "===================================" << endl;
cout << "ranges[0][0]\t" << ranges[0][0] << "\t" << &(ranges[0][0]) << endl;
cout << "ranges[0][1]\t" << ranges[0][1] << "\t" << &(ranges[0][1]) << endl;
cout << "ranges[1][0]\t" << ranges[1][0] << "\t" << &(ranges[1][0]) << endl;
cout << "ranges[1][1]\t" << ranges[1][1] << "\t" << &(ranges[1][1]) << endl;
cout << "===================================" << endl;
cout << "ranges[0]\t" << ranges[0] << endl;
cout << "ranges[1]\t" << ranges[1] << endl;
cout << "*(ranges[0])\t" << *(ranges[0]) << endl;
cout << "*(ranges[1])\t" << *(ranges[1]) << endl;
cout << "*(ranges[0])+1\t" << *(ranges[0]) + 1 << endl;
cout << "*(ranges[1])+1\t" << *(ranges[1]) + 1 << endl;
cout << "*(ranges[0]+1)\t" << *(ranges[0] + 1) << endl;
cout << "*(ranges[1]+1)\t" << *(ranges[1] + 1) << endl;
cout << "===================================" << endl;
cout << "ranges\t\t" << ranges << endl;
cout << "*(ranges)\t" << *(ranges) << endl;
cout << "*(*(ranges))\t" << *(*(ranges)) << endl;
cout << "ranges+1\t" << ranges + 1 << endl;
cout << "*(ranges+1)\t" << *(ranges + 1) << endl;
cout << "&ranges\t\t" << &ranges << endl;
cout << "&ranges+1\t" << &ranges+1 << endl;
cout << "===================================" << endl;
cout << "sizeof(h_ranges)\t" << sizeof(h_ranges) << endl;
cout << "sizeof(s_ranges)\t" << sizeof(s_ranges) << endl;
cout << "sizeof(h_ranges[0])\t" << sizeof(h_ranges[0]) << endl;
cout << "sizeof(h_ranges[1])\t" << sizeof(h_ranges[1]) << endl;
cout << "sizeof(ranges)\t\t" << sizeof(ranges) << endl;
cout << "sizeof(&ranges)\t\t" << sizeof(&ranges) << endl;
cout << "sizeof(ranges[0])\t" << sizeof(ranges[0]) << endl;
}
输出:
指针数组如下:
float h_ranges[] = { 100.5, 200.5 };
float s_ranges[] = { 300.5, 400.5 };
const float* ranges[] = { h_ranges, s_ranges };
输出如下:
打印的表达式 表达式的输出值
===================================
ranges[0][0] 100.5 000000384937F818
ranges[0][1] 200.5 000000384937F81C
ranges[1][0] 300.5 000000384937F838
ranges[1][1] 400.5 000000384937F83C
===================================
ranges[0] 000000384937F818
ranges[1] 000000384937F838
*(ranges[0]) 100.5
*(ranges[1]) 300.5
*(ranges[0])+1 101.5
*(ranges[1])+1 301.5
*(ranges[0]+1) 200.5
*(ranges[1]+1) 400.5
===================================
ranges 000000384937F858
*(ranges) 000000384937F818
*(*(ranges)) 100.5
ranges+1 000000384937F860
*(ranges+1) 000000384937F838
&ranges 000000384937F858
&ranges+1 000000384937F868
===================================
sizeof(h_ranges) 8
sizeof(s_ranges) 8
sizeof(h_ranges[0]) 4
sizeof(h_ranges[1]) 4
sizeof(ranges) 16
sizeof(&ranges) 8
sizeof(ranges[0]) 8
请按任意键继续. . .
琢磨吧