這是一段時間,因爲我不得不在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的報價。他完全正確。我仍然建議先寫一個簡單的程序。好像你試圖一次解決整個問題。 –