作业帮 > 综合 > 作业

C语言这里的(*p)[3]是什么意思?

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/14 17:44:25
C语言这里的(*p)[3]是什么意思?
#include
int main()
{
\x09int s[2][3]={0},(*p)[3],i=1,j=2;
\x09p=s;
\x09printf("%d\n",*(*(p+i)+j)); //显示0
\x09printf("%d\n",*(p[i]+j)); //显示0
\x09printf("%d\n",*(p+i)+j); //显示2293316
\x09printf("%d\n",(*(p+i))[j]); //显示0
\x09printf("%d\n",*p); //显示2293296
\x09return 0;
}
上面的(*p)[3]是什么意思?怎么读?
还有为什么*(p+i)+j是显示2293316
为什么*p显示2293296
另外*(p+i)+j是否为对s数组的第i行j列元素的不正确引用?
没记错的话是定义了一个指向数组的指针,这个数组有三个元素.
再问: ��ôΪʲô*(p+i)+j����ʾ2293316 ?Ϊʲô*p��ʾ2293296 ?
再答: ������ʾ���ǵ�ַ��2293296+24+16=2293316
再问: ��������%d���Ŷ���� ����24 16��ô���ģ�
再答: �ܵ� �࿴������Һþ�û���˲�֪����ô���������У��Ǹ�24=3*8 16=2*8
再答: �ú�ѧϰ��
再问: 2293296+24+16��=2293316 2293296+24+16Ӧ����2293336������Խ��Խ������
再答: ������˼Ŷ ����һ��int��ռ4���ֽ� Ӧ���ǣ�4*3+2*4+2293296=2293316
再问: �ţ����Ҷ��ˣ�лл