程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 數組和指針何時等同,何時不同?

數組和指針何時等同,何時不同?

編輯:C++入門知識

文件一(file1.cpp)中含下列代碼,

 = {, , , , };

(file2.cpp)中含下列代碼,

#include <iostream> 
  cout << p[] <<

出現編譯錯誤,如下:

*p’與先前的的外部聲明不匹配

 

 

,人們總是把所有代碼都放到main函數裡。隨著水平進步,人們開始把代碼分別放到幾個函數中。隨著水平繼續提高,人們終於學會了如何用幾個文件來構造一個程序。所以在學編程的很長一段時間內,人們往往只是接觸到指針和數組能夠互換的情況。比如

 array[] =  *p =, array, p);   
}

中,也就是作為函數調用的參數使用。更糟糕的情如下



,更是給人們帶來誤解——“喔,數組就是指針”。但其實這條語句,而作為參數的array 其實是作為指針來傳遞的。類似的情況還在main函數中出現,main函數的參數 char **argv 和 char *argv[] 也可以互換。再加上平時常常能夠見到在表達式中數組和指針可以交換,久而久之,人們便容易把數組和指針混淆起來。

 

參考文獻

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved