指针和二维数组的用法

int *s
for(i=0;i<5;i++)
for(j=0;j<5;j++)
cout<<s[i][j];//error想请教各位程序员哥哥这个要怎么改啊?

楼上的就行了,int (*s)[5][5] 也可以吧。

你这个s是个一维的指针
改成:int **s; 或 int s[5][5];

虽然是二维的数组,其实指针的指的是第一行第一列,所以*s[i]就成了一个一维数组的指针,在c++里面你还可以试试引用,同时理解指针。

动态二维数组,int **s = new int[5][5];

动态二维数组,int **s = new int[5][5];这个没问题

直接 int s[5][5];吧

首先,s在此处定义为一维,二维引用会导致错误。其次,对于s,没有指定指向的对象,也没有分配相应的空间。