-1
A
回答
2
const uint8_t *const data
本質上意味着該函數將不能更新參數data
或它指向的對象。 IOW,您不能將data
設置爲指向函數內的其他對象。
簡而言之:
const T *p -- p is writable, *p is not
T const *p -- same as above
T * const p -- *p is writable, p is not
const T * const p -- neither p nor *p are writable
T const * const p -- same as above
編輯
注意,要data
任何變化將不會在調用函數(不同於任何變化*data
)反映,何必使其const
?通常這是因爲函數體需要在整個執行過程中保留該指針; IOW,如果你不小心更新了data
,你稍後會在函數中破壞某些東西。這只是保證這種改變不會發生的一種方式。
2
假設代碼是在C或C++,第二個參數是常數指針恆定數據(和變量名是data
)。該函數很有前途,它最多可以讀取但不寫入data
參數指向的內存。在正常假設下,數據的類型是無符號字節。
4
第二個參數是const數據的const指針。
const uint8_t * const == uint8_t const * const
uint8_t const * const == const pointer to const uint8_t
爲了幫助你,想向後閱讀:
int*
- 指針爲intint const *
- 指針const int的int * const
- 常量指針爲int
等
因此在你的例子中,const uint8_t *const data
是「數據常量+ uint8_t const指針」=> const數據指針。
相關問題
- 1. 瞭解指針數組的指針作爲函數的參數
- 2. 如何理解函數中的指針
- 3. 函數的指針參數
- 4. 函數指針不帶指針參數
- 5. pthread_create參數函數指針
- 6. C++ - 指針函數參數
- 7. 參數列表中的函數指針
- 8. C++中指針參數的函數
- 9. 參考和指針的函數參數
- 10. 理解函數指針聲明
- 11. 函數指針 - 參數傳遞給一個函數指針
- 12. Swift函數中指針參數的指針
- 13. 解釋c指針參數
- 14. C++指向函數參數指針的指針
- 15. 瞭解c函數指針
- 16. c函數指針解釋
- 17. 瞭解函數指針
- 18. 作爲函數參數的雙指針
- 19. 帶有python參數的函數指針?
- 20. C指針作爲函數的參數
- 21. 指針在C函數的參數
- 22. const volatile的指針函數參數
- 23. 空指針的函數參數
- 24. 已知參數的函數指針
- 25. C++指針的函數作爲參數
- 26. 帶指針參數的函數
- 27. 處理函數和指針
- 28. 太多的參數,函數指針中的參數太少
- 29. 函數指針指向一個函數指針的函數
- 30. 解釋器中的函數指針
不,它是一個常量指針,它是一個常量數據 - 實際上是一個「僅輸入」參數。指針本身也是常量的事實有點多餘。 –