-1
對於一維數組,我沒有訪問數組元素的問題。例如 -如何用指針格式表示多維數組?
#include<typeinfo>
#include<iostream>
#include<vector>
using std::cin;
using std::cout;
using std::endl;
using std::vector;
using std::string;
int main()
{
int a[3] = {1, 2, 3};
cout << *(a + 0);
return 0;
}
但是,當我試圖爲2維數組,我得到的那種輸出 -
#include<typeinfo>
#include<iostream>
#include<vector>
using std::cin;
using std::cout;
using std::endl;
using std::vector;
using std::string;
int main()
{
int a[][3] = {1, 2, 3};
cout << *(a + 2);
return 0;
}
輸出 -
0x7ffca0f7ebcc
我怎樣才能以第一個例子中描述的格式獲得輸出爲2(我將按行主或列主順序獲得2,但C++遵循行主要數組表示形式)?
這是因爲第二種情況下的*(a + 2)產生一個int(*)[3]結果,所以你得到一個指針打印。現在你將如何從指針獲取對象? (還有什麼與不相關的包括和使用...) – DeiDei