首页 > 试题广场 >

若有定义: int c[4][5],( *pc)[5]; p

[单选题]
若有定义:
int c[4][5],( *pc)[5];
pc=c;
那么,下列对数组C的元素引用正确的是( )。
  • pc+1
  • * (pc+3)
  • * (pc+1) +3
  • * (*pc+2)
pc是一个数组指针(指向数组的指针),指向列数为5的二维数组,pc = c,表示pc指向二维数组的第一行,pc+1偏移一行,一行5个元素。*pc得到二维数组c的第一行数组的首地址,+2偏移到c[0][2]的地址,解引用就得到数据2。c[4][5]可以理解为4个长度为5的一位数组,这四个一维数组的地址要用数组指针存放。
发表于 2018-08-22 09:58:15 回复(6)
二维数组和一维数组的区别在于,二维数组可以理解为一维的一维。在一维中,*表示取数值,在二维中*表示取第几行的地址,**表示取值。
发表于 2018-08-28 16:32:28 回复(0)
元素引用,指必须取到数值,而不是地址值
那么就必须用两次取值运算
第一次:取到二维数组中元素的实际值,但因为这个元素是个数组,所以你取到的仍然是个地址值,而非实际数值
第二次:取到一维数组中元素的实际值,这次就取到了实际数值
发表于 2020-03-19 09:34:56 回复(1)
发表于 2022-03-05 12:56:31 回复(0)
为什么java数据结构题库里会有c的指针
发表于 2022-07-06 17:22:15 回复(1)
*(pc)[5]是一个指针数组,引用其元素应该是**pc
发表于 2022-05-07 08:16:13 回复(0)
abc都是取地址,只有d先取地址再取值,完成了 元素 引用。
发表于 2019-08-11 17:34:01 回复(0)
c是int**类型,d是指向int[5]类型的指针
发表于 2019-01-29 16:34:38 回复(0)
  • * (*pc+2)表示第0行第2列地址下的值
发表于 2023-11-06 20:11:53 回复(0)
pc可以看做是二维指针,需要两次*解引用才能得到元素值
发表于 2020-07-04 11:10:42 回复(0)
二维数组,元素是地址
发表于 2020-04-06 15:54:57 回复(0)