作业帮 > 综合 > 作业

int a [4][10] ,*p; p=a;这句话为什么错了啊?int a[9],*p; p=a;和上面的区别?

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/10 11:42:50
int a [4][10] ,*p; p=a;这句话为什么错了啊?int a[9],*p; p=a;和上面的区别?
int a [4][10] ,*p; p=&a[0][0];这样才正确,p是一级指针,a是2维数组名,算是二级指针了,因此p=a是不行的.
int a[9],*p; p=a;a这里是数组名,是首地址,算是一级指针,因此p=a是正确的
再问: 可不可以定义个二维指针指向二位组啊? int **p,a[][] p=a 这样的? 那这样的话 p指向哪 *p指向哪
再答: 下面是编写的一些例子,参考下 #include #include int main(void) { int a[4][10];//二维数组 int i,j; int **p; //二级指针 int *q[4]; //指针数组 int (*t)[10];//数组指针 for(i=0;i