若有:int a[3][5]; 如何定义指针变量p,使其能够指向数组a的第一行(行指针),正确的定义是()。
A: int *p = a[1];
B: int *p = &a[1][0];
C: int *p[5] = a + 1;
D: int (*p)[5] = a + 1;
A: int *p = a[1];
B: int *p = &a[1][0];
C: int *p[5] = a + 1;
D: int (*p)[5] = a + 1;
举一反三
- 已知数组定义: int a[3][5]; 下面正确的语句是: A: int *p=a; B: int *p=a[0][0]; C: int (*p)[3]=a; D: int (*p)[5]=a+1;
- 若有定义int a[2][3],*p;则p=*a;表示指针变量p指向数组元素a[0][0]。
- 若有定义int a[5],*p=a;,则对a数组元素的不正确引用是( )。 A: int a[5],*p;p=&a; B: int a[5],*p;p=a; C: int a[5];int *p=a; D: int a[5];int *p1,*p2=a;*p1=*p2;
- 有语句:int a[10];则定义指针变量p并指向数组a的正确定义和初始化为( ) A: int p=*a; B: int *p=a; C: int p=&a; D: int *p=&a;
- 定义一个指向具有5个元素的一维整型数组的指针变量的正确定义为 A: int *p[5]; B: int *p; C: int (*p)[5]; D: int *p[][5];