这是一段时间,因为我不得不在C编程,我完全忘记了如何使用指针。所以对于我的项目,我必须制作一个程序,读取txt文件并创建数字的直方图。C指针和访问数组
该程序必须
void hist_2d(
int *head, /* A pointer to the input tiles. */
int w, /* The width (in pixels) of the tile. */
int h, /* The height (in pixels) of the tile. */
int stride, /* Number of pixels between 2 contiguous rows. */
int *bins, /* Array of input bins for the desired histogram. */
int m, /* The number of input bins. */
int *out /* An array in which to store the output histogram. */
)
我的问题是与*头和访问数组。
因此,例如图像
[1,2,3,4,5,6;
7,8,9,10,11,12;
13,14,15,16,17,18;
19,20,21,22,23,24]
在pixels.txt这将是:
1
2
3
...
直方图应该在瓷砖计算,所以我的例子瓷砖可能是2x3这将是:
[1,2,3;
7,8,9]
做直方图的一部分很容易获得他们的数据,我不联合derstand。根据我的理解* head是每个tile开始点的地址数组,但实际上如何获取值?以及如何获得下一个值?
Head [0]会得到我的地址还是第一个值?
谢谢你,很抱歉,很长的文章,但我想确保我提供了所有需要的信息。
*据我所知* head是一个地址数组* *'* head'是一个整数。 'head'是一个指向整数的指针。 'head [0]'相当于'* head'。如果'head'是指向一个能够保存多个整数的内存区域的指针,那么可以将它视为一个数组并使用'[]'运算符访问元素。 –
你有任何的代码?在我看来,你的理解很好。编写一个示例程序可能会更有益处,它只会从磁盘上的文件中读取数据,然后尝试访问它。 –
我错过了Filipe的报价。他完全正确。我仍然建议先写一个简单的程序。好像你试图一次解决整个问题。 –