A: int *p=a;
B: int *p=a[0][0];
C: int (*p)[3]=a;
D: int (*p)[5]=a+1;
举一反三
- 若有: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;
- int a[ ][3]={1,2,3,4,5,6}; int *p=&a[0[0]; 上述代码的第2行可以使用下列哪些选项替换? A: int *p=a[0]; B: int *p=a; C: int *p=*a; D: int *p=**a;
- 若有定义和语句:int a[2][3]={0}, (*p)[3]; p=a;,则p+1表示数组________
- 若有定义:int a[4][3],*p;下面不正确的赋值语句是_____。 A: p=a+1 B: p=a[0] C: p=&a[1][1] D: p=*(a+2)
- 若有定义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;
内容
- 0
对于数组的使用,以下做法正确的是:</p></p><p><p>(1) int a[]={1,2,3}</p></p><p><p>(2) int a[10]=new int[10]; a[10]=1;a[1]=1;</p></p><p><p>(3) int a[10]={1,”2”,3};</p></p><p><p>(4) int a[10]; a[1]=0</p></p>
- 1
以下程序输出正确的是_______ amovep(int *p,int (*a)[3],int n) { int i,j; for(i=0;i<n;i++) for(j=0;j<n;j++){ *p=a[i][j];p++;} } main() {int *p,a[3][3]={{1,3,5}, {2,4,6}}; p=(int*)mallox(100) amovep)p,a,3); printf("%d%d\n",p[2],p[5]);free(p) }[/i] A: 56 B: 25 C: 34 D: 程序错误
- 2
若有定义语句int a[2][3],*p[3];则下面语句正确的是()。 A: p[0]=&a[1][2]; B: p[0]=a; C: p=a; D: p[1]=&a;
- 3
以下不能对二维数组a进行正确初始化的语句是( ) 。A) int a[2][3]={0};B) int a[][3]={{1,2},{0}};C) int a[2][3]={{1,2},{3,4},{5,6}};D) int a[][3]={1,2,3,4,5,6};
- 4
若有定义语句:int a[2][3], *p[3]; ,则以下语句中正确的是( )。 A: A) p=a; B) p[0]=a; C) p[0]=&a[1][2]; D) p[1]=&a;