C:使用指针访问二维数组

时间:2018-03-25 15:34:47

标签: c pointers multidimensional-array comparison

int main() {

char test [2][4]= {"BbBa","CBAD"} ; /*two dimensional array */
char ch = 'A'; /* match this character */
char *temp = &test; /* pointer to array */
int i=0;

if (temp[1][2] == ch){ /* if match to ch will print Yes */
    printf("Yes");
}
else{
    printf("No.");
}

getchar();
return 0;
}

大家好,这是关于创建指向二维数组的指针然后进行比较的问题。

在一维中,我使用temp = &test并取得了成功,但它并不适用于二维。 如何使用指针访问数组内容? 谢谢。

1 个答案:

答案 0 :(得分:0)

您需要将temp声明为指向数组的指针:

char (*temp)[4] = test;

这是有效的,因为在大多数上下文中,数组被转换为指向其第一个元素的指针。由于test是大小为2的char[4]数组,因此指向它的指针的类型为char(*)[4]