[英]c program unsigned int or uint8_t
我正在編寫一個名為take_picture()
的函數。 該功能將使相機拍照並將數據存儲在一個數組中。
我希望函數返回數組所在的地址並返回數組的大小。
所以這是我的函數聲明:
uint8_t * take_picture(int *piclength)
我的問題是函數返回類型和參數的正確/邏輯數據類型是什么? 考慮到它們存儲數組的地址和大小? uint8_t
和int
有意義嗎?
謝謝
我的問題是函數返回類型和參數的正確/邏輯數據類型是什么? 考慮到它們存儲數組的地址和大小?
函數返回類型應該是指向數組項的指針。 如果是uint8_t
的數組,則返回類型應為uint8_t*
。 這也是字節數組(“原始數據”)的最正確/安全類型。
用於描述數組大小的最正確的類型是size_t
,這是一種專門為此目的而存在的無符號整數類型,並且可以保證足夠大以容納給定系統的數組大小。
uint8_t* take_picture (size_t* piclength);
或者
void take_picture (uint8_t* picture, size_t* piclength);
unsigned int size; //因為圖像大小總是正的並且很大。
uintptr_t地址; //如果這在stdint.h中可用
要么
unsigned int address; //它能夠存儲指針大小。
address = take_picture(&size); // take_picture if if返回uintptr_t
如果你不知道take_picture返回什么,那么你就像你所做的那樣:
address =(unsigned * int)take_picture(&size);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.