我在互聯網上看到指向數組的指針和指向數組的第一個元素的指針是相同的東西。但在CooCox接下來的錯誤提示:C指針作爲函數的參數
//Get Arr
uint8_t TestDataArr[10];
//Func get pointer to arr
void InitData (TestPacks *Data)
{
//Some code
}
//This call error
InitData(&TestDataArr)
//But this is norm
InitData(&TestDataArr[0])
爲什麼會發生?
因爲它們不是同一個東西......指向數組的指針與指向數組第一個元素的指針的類型不同,即使地址重合。 – StoryTeller
不,他們不是一回事。不要相信你在互聯網上找到的一切。 –
閱讀此更詳細的解釋(不知道它是否是一個適當的複製)http://stackoverflow.com/questions/42094465/correctly-allocating-multi-dimensional-arrays – StoryTeller