二維陣列a[3][3]
指標初始化為&a[0][0]
怎么才能讓它指向a[2][1]
只用指標的運算
#include <iostream>
using namespace std;
int main()
{
int x[3][3] = {1,2,3,4,5,6,7,8,9 };
int* p = &x[0][0];
cout << *((int*)(&p+2)+1 );
system("pause");
}
錯誤 1 error C4700: 使用了未初始化的區域變數“p”
uj5u.com熱心網友回復:
#include <iostream>using namespace std;
int main()
{
int x[3][3] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
int* p = (int*)(&x[0] + 2) + 1;
cout << *p;
system("pause");
}
為什么這個就可以
uj5u.com熱心網友回復:
你這個問題不是問過嗎?說過了沒有看對錯,在xe7下是可以編譯通過的。#include <iostream>
using namespace std;
int main()
{
int x[3][3] = {1,2,3,4,5,6,7,8,9 };
int* p = &x[0][0];
cout << *((int*)(&p+2)+1 );
system("pause");
}
uj5u.com熱心網友回復:
沒問過啊。。。沒有看對錯是什么意思
uj5u.com熱心網友回復:
沒有看運行結果是否正確
uj5u.com熱心網友回復:
p已經是地址了,不能再取地址#include <iostream>
using namespace std;
int main()
{
int x[3][3] = {1,2,3,4,5,6,7,8,9 };
int* p = &x[0][0];
cout << *((int*)(p+2)+1 );
system("pause");
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/104359.html
標籤:基礎類
上一篇:Android Fragment + RecyclerView瀑布流布局
下一篇:這個情況要怎么破啊?
