【发布时间】:2013-04-16 15:35:43
【问题描述】:
好的,所以我这样调用函数 fill_arrays:
fill_arrays(&data1, &data2, &size1, &size2);
fill_arrays 看起来像这样:
void fill_arrays(int **data1, int **data2, int *size1, int *size2){
*size1 = get_size(*size1, 1);
*size2 = get_size(*size2, 2);
*data1 = malloc(*size1 * sizeof(int *));
*data2 = malloc(*size2 * sizeof(int *));
input_data(&data1, *size1, 1);
}
在 input_data 函数中,我想将一些数字分配给数组:
void input_data(int **data, int size, int index){
*data[5] = 5;
}
问题是,我完全迷失了指针......也许你可以告诉我应该如何调用函数 input_data 以便能够将一些数字分配给数据数组?
【问题讨论】:
-
总体目标是什么?程序应该做什么?
-
您需要将
sizeof(int * )替换为sizeof(int)并将data1传递给input_data而不是引用&data。 -
你在看哪本书?
-
函数
fill_arrays()的预期目标是 (a) 确定要填充的数组的大小,(b) 为数组大小分配空间,(c) 填充分配的数组,以及 ( d) 将数组和作为输出参数返回每个数组的结果大小?这就是fill_arrays()的原型看起来你想要或希望的样子。是这样吗?
标签: c arrays function pointers