嗨我只是開始讓我的頭圍繞指針和數組,並且我或多或少知道如何操縱一維數組中的指針來顯示元素。但是在多維數組中呢? 我已經練習與此代碼:使用指針來顯示多維數組中的元素
#include<iostream>
using namespace std;
int main()
{
int a[2][3]= { {1,2,3},{4,5,6}};
int (*ptr)[3] = &a[0]; // or (*ptr)[3] = a;
cout <<"Adress 0,0: "<< a << endl;
cout <<"Adress 0,0: "<< ptr << endl;
cout <<"Value 0,0: "<< *a[0] << endl;
cout <<"Value 0,0: "<< *(ptr)[0]<< endl;
cout <<"Adress 0,1: "<< &a[0][1] << endl;
cout <<"Adress 0,1: "<< (ptr)[1] << endl;
return 0;
}
我已成功地顯示的地址和值A [0] [0],用陣列名稱以及指針,但如何顯示的地址和值a [0] [1]和後續元素通過使用指針?
'(ptr)[1]'不指向'a [0] [1]',它指向'a [1] [0]'。 – emlai 2015-02-10 17:30:01
我想如果你想從你的數組數組中提供值「2」,你就試圖敲擊'(* ptr)[1]'。這個元素的地址就是'(* ptr)+ 1'(或者,如果你想冗長的話,'*(ptr + 0)+1' – WhozCraig 2015-02-10 17:31:17