C++二维数组如何赋值给指针

#include <iostream>
using namespace std;
int main()
{
int a[3][4]={1,3,5,6,7,8,44,55,66,132,345,1234};
int *p,i,j;
cout<<"please enter num:";
cin>>i>>j;
*p=a;
cout<<* *p+i+j;
return 0;
}
请问这样怎么修改

int a[3][4]={1,3,5,6,7,8,44,55,66,132,345,1234};
int *p,i,j;
int k;
cout<<"please enter num:";
cin>>i>>j;
p=&a[0][0];
for (k=0;k< 3*4 ;k++) cout << *(p+k) << " " << endl; // 若 输出所有元素
若 i,j 是行号列号(未超界):
cout << *(p+i*4+j) <<endl; //输出 a[i][j]
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-06-25
int *p改为 int (*p)[4]追问

还是编译错误