C 語言函數參數只能傳指針,不能傳數組

  今天被要求編寫一個C/C++冒泡算法的程序,心想這還不是手到擒來的事兒,雖然最近都是用Javascript程序,不多寫C/C++程序,可是好歹也用過那麼多年的C語言;算法

     首先想的是怎麼讓本身的代碼看上去更高大上一點,怎麼着也得能自動識別數組的長度吧:因而初版程序以下,結果以下數組

  看到結果,非常驚訝,爲何是2呢?看到後面我列出可執行文件的類型,應該知道,這個長度是指針的長度,64bit,恰好兩個字節。說明sortof求得是指針的長度,而非數組的長度。函數

  仔細想一想,函數的參數只能傳遞指針,不能直接傳遞數組;指針

  因此,要想傳遞數組,必需要傳遞數組首地址指針(通數組的類型一致),以及數組的長度,用來表示數組的結尾。blog

相關文章
相關標籤/搜索