我有一些繼承的代碼和一個函數,它將字符數組作爲參數。數組訪問,指針混淆
typedef char myString[256];
void MyFunc(myString param)
{
int i;
for (i = 0; i < 256; i++)
{
if (param[i] ....
我想使這更有效和指針傳遞到字符數組:
void MyFunc(myString *param)
{
int i;
for (i = 0; i < 256; i++)
{
if (*param[i] <========= Thsi is wrong
當我嘗試引用數組的元素,我得到了錯誤的值,所以很明顯的東西是我的指針取消引用錯誤。我用C編碼已經有一段時間了,所以我看不到明顯的錯誤。
有人可以指出嗎?
當傳遞給一個函數,數組 「衰變」 的指針反正。玩這種遊戲不會使它更有效率。 – dmckee
研究數組語義的時間 –
這可能是有用的材料BTW:[C書 - 數組,運算符和函數](http://publications.gbdirect.co.uk/c_book/chapter5/arrays_and_address_of.html)。我最喜歡的C參考資料之一。 – detly