若有程序段:int b[2][3]={{1,2,3},{4,5,6}}; int *p=&b[0][0]; 则下列哪个表达式的值是3( )

问题描述:

若有程序段:int b[2][3]={{1,2,3},{4,5,6}}; int *p=&b[0][0]; 则下列哪个表达式的值是3( )
若有程序段:int b[2][3]={{1,2,3},{4,5,6}}; int *p=&b[0][0];
\x05则下列哪个表达式的值是3( ) ( 2分)
\x05A) b \x05\x05B) *(b+2) \x05C) *(p+2) \x05D)(*(b+1))[2]
初学 c语言 对指针

C
A里面b是二维数组首地址
B里面*(b+2)已经越界了,他首先要定位到b[2],而下标范围只能是0~1,
C里面,p是指向b首地址的指针,p+2是内存首地址开始,第二个整数的位置(从0开始数的),该位置内存值为3,满足答案