举一反三
- int a[3][4],*p=*(a+2)+3;[br][/br] 此时的指针变量p指向了数组元素a[2][3]。
- int a[3][4],*p=*a; 此时的指针变量p指向了数组元素a[0][0]。
- int a[2][4]={1,2,3,4,5,6,7,8};[br][/br] int *p=*a; 此时p是一个________ A: 指向数组元素的指针变量 B: 指向一维数组的指针变量 C: 指向二维数组的指针变量 D: 指向第0行的数组指针变量
- 若有定义int a[2][3],*p;则p=*a;表示指针变量p指向数组元素a[0][0]。
- 若有变量定义语句"int a[4][3],*p=a[2];" 则表达式指向的数组元素是
内容
- 0
若有定义int a[2][4],(*p)[4]=a;用指针变量p(不改变p)表示数组元素a[1][2]为___________。 A:
- 1
若有定义:int a[3][4],*p=a,*q=&a[0][0];,_____不能表示数组元素a[1][1]。 A: *(a[1]+1) B: *(p+5) C: (*(a+1))[1] D: *(a+5)
- 2
关于二维数组的创建,以下做法正确的是:(1)int a[][] =new int[4][5](2)int a[][] =new int[4][]; a[0]=new int[10]; a[1]=new int[20];(3)int a[][]; a=new int[3][]; a[0]=new int[3]; a[1]={1,2};a[2]={1,2,3}; A: (1)(2)(3) B: (1)(2) C: (1)(3) D: (1)
- 3
若有定义和语句 int a[3][4]={……},(*p)[4];p=a;则p+2表示数组元素_________的地址
- 4
中国大学MOOC: 有定义语句:int a[3][4],*p;若要指针变量p指向a[0][0],正确的表示方法是()。