這似乎是一個基本的問題,但我找不到任何地方的答案。如何在C中存儲字節數組?
我知道C/C++沒有byte
數據類型。 我知道sizeof(char) == 1
。
我試圖存儲12個傳輸,每個96個字節在卵石上,從我的Android應用程序發送。
由於傳輸大小的限制,我一次發送一個。每一個都應該「追加」到最後,因爲它們最終應該在內存中形成連續的空間,作爲圖像讀取(每像素一位)。
我試圖做這樣的事情:
int transNum = 0;
uint8_t image[][] = new uint8t[12][12] //not sure about uint8_t, and I've forgotten how to do 'new' in C, I have to create just a pointer, and then malloc?
receivedHandler(DictionaryIterator *iter, void *context){
Tuple *receivedImage = dict_find(iter, KEY_IMG);
for (int i = 0; i < 12; i++) {
image[transNum][i] = receivedImage->value[i]->uint8_t;
}
transNum += 1; //this is in an implicit loop, since once done Pebble ACKs the transmission, and receivedHandler is called again by the next transmission
}
難道我甚至遠程關閉嗎?
當你說row/col時,內存是一維的。那麼我糾正這看起來像是「{r0c0,r0c1,...,r0c95,r1c0,...,r11c95}」嗎?我假設那裏有'i == col_no'? – OJFord
是的,沒錯。是的,在上面的代碼中'i = col' – brokenfoot
這兩個聲明之間的任何實際區別?我假設我是否使用'char image [12] [96];'然後我不訪問元素時取消引用。偏好的其他差異/原因? – OJFord