轉貼 宣告乙個變數時,若沒去用,是否會浪費記憶體

2022-07-16 15:12:13 字數 558 閱讀 5245

在c/c++中,只要宣告乙個變數,如int i,儘管沒去用它,記憶體已經佔了4 byte的記憶體了,這個動作稱為definition,以下簡單的源**即可證明,結果可顯示該變數的記憶體位址。

1#include 

<

iostream

>23

using

namespace

std;45

intmain() 

若只想宣告變數,卻不想先占用記憶體,等要使用時才佔記憶體,這種叫做declaration,只要加上extern即可

1#include 

<

iostream

>23

using

namespace

std;45

intmain() 

以上的程式,無法編譯成功,會出現『undeclared identifier』的錯誤訊息,因為在c/c++中,任何變數必須經過definition後才能使用,也就是說變數必須佔了記憶體才能用,j因為宣告為extern,只有declaration,但尚未definition,沒有記憶體位址,所以compile無法過。

Python判斷乙個變數是否存在

在呼叫乙個變數的時候,如果這個變數沒有被定義,那麼python會報錯。要解決的方法也很簡單,就是事先給變數賦乙個空值。但是也可以通過呼叫系統的內建函式來判斷乙個變數名是否已經被定義了。有3個內建函式都可以實現。1 2 3 4 5 6 7 8 9 res1 test inlocals keys res...

判斷乙個變數是否為陣列

1 var array new array 1 2 3 4 5 console.log array instanceof array true 2 var array new array 1 2 3 4 5 console.log array.constructor array true 3 fun...

js判斷乙個變數是否為陣列

var ary 1,23,4 console.log ary.proto constructor array true console.log ary.constructor array true 這兩段 是一樣的有侷限性 var ary 1,23,4 console.log ary instanc...