假设有以下定义:
int a[3][4],*p=a;
则a[i][j]等价于p[i][j]。
解析:以上说法是错误的,因为p是普通的整型指针,其只能指向一个整数,而数组a是一个二维数组,将其看成一维数组的话,其每一个元素就是一个有4个元素的一维数组,所以如果要让a[i][j]等价于p[i][j]的话,这个p指针的就应该定义成指向有4个元素的数组的指针,即int (*p)[4]。
请问以上说法是否正确。
假设有以下定义:
int a[3][4],*p=a;
则a[i][j]等价于p[i][j]。
解析:以上说法是错误的,因为p是普通的整型指针,其只能指向一个整数,而数组a是一个二维数组,将其看成一维数组的话,其每一个元素就是一个有4个元素的一维数组,所以如果要让a[i][j]等价于p[i][j]的话,这个p指针的就应该定义成指向有4个元素的数组的指针,即int (*p)[4]。
请问以上说法是否正确。