行指针和列指针的区别
时间: 2023-12-14 17:32:48 浏览: 114
行指针和列指针是指针的两种不同用法,它们在多维数组中有着不同的作用。行指针是指向数组中某一行的指针,而列指针是指向数组中某一列的指针。
行指针和列指针的区别在于它们指向的数据类型不同。行指针指向的是数组中的一行,而列指针指向的是数组中的一列。在C语言中,数组是按行存储的,因此行指针的步长是数组的列数,而列指针的步长是数组的行数。
下面是一个例子,演示了如何使用行指针和列指针来访问二维数组中的元素:
```c
#include <stdio.h>
int main()
{
int a[3][4] = {{1,2,3,4}, {5,6,7,8}, {9,10,11,12}};
int i, j;
int *p;
// 使用行指针访问数组元素
for (i = 0; i < 3; i++) {
p = *(a + i);
for (j = 0; j < 4; j++) {
printf("%d ", *(p + j));
}
printf("\n");
}
// 使用列指针访问数组元素
for (j = 0; j < 4; j++) {
p = (int *)a;
for (i = 0; i < 3; i++) {
printf("%d ", *(p + i*4 + j));
}
printf("\n");
}
return 0;
}
```
阅读全文