69,369
社区成员
发帖
与我相关
我的任务
分享
int *array[10];
这个就是指针数组;
数组指针,是指向数组的指针,并且指向的数组是列数为COL长度的数组。[/quote]
您好 我在问一下 回去我仔细看了一下这种数组指针 又称行指针 但是不明白它相对于列指针的好处在哪里 我们为什么要用它呢?就像这个程序里 难道必须要用它吗 不能用别的吗 还请你帮我解答一下 谢谢![/quote]
这个是传递一个二维数组到一个函数里用到的,你可以用int dst[][COL],但是这种形式编译器也是以指针形式处理的。与其让编译器“翻译”不如一步到位。int *array[10];
这个就是指针数组;
数组指针,是指向数组的指针,并且指向的数组是列数为COL长度的数组。[/quote]
您好 我在问一下 回去我仔细看了一下这种数组指针 又称行指针 但是不明白它相对于列指针的好处在哪里 我们为什么要用它呢?就像这个程序里 难道必须要用它吗 不能用别的吗 还请你帮我解答一下 谢谢!int *array[10];
这个就是指针数组;
数组指针,是指向数组的指针,并且指向的数组是列数为COL长度的数组。#include<stdio.h>
#define ROW 2
#define COL 5
int reshape (int *src, int len, int (*dst)[COL], int row, int col)
{
int i, j, k = 0;
for (i = 0; i < row; i++)
for (j = 0; j < col; j++)
if (k < len)
dst[i][j] = src[k++];
}
int main ()
{
int i,j;
int pai[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0};
int dst[2][5];
reshape(pai, 10, dst, ROW, COL);
for(i = 0; i < ROW; i++)
for(j = 0; j < COL; j++)
printf("%4d ", dst[i][j]);
printf("\n");
}
这是我改的版本,参考一下吧