? ? ? ? ? 復制變量值
值類型的復制變量值:
圖片發自簡書App
上圖中以num2為變量名的變量,其變量值是通過復制num1的變量值得到的。換而言之,num2和num1在內存中都儲存著數值5,且前者是后者的副本。
圖片發自簡書App
引用類型的復制變量值:
圖片發自簡書App
上圖中,以obj2為變量名的變量,其變量值同樣是通過復制obj1的值得到的,但是復制的結果不是儲存在內存中的一個對象,而是一個指針,這個指針指向obj1的值。這樣一來,obj1與obj2在引用訪問時,其實是對同一個儲存在內存中的對象的引用進行操作。
圖片發自簡書App
? ? ? ? ? ? ? ? ? ?參數傳遞
函數的局部變量:包括函數的參數,函數內部被創建的變量。函數的局部變量都會在函數執行完畢后被立即銷毀。
函數參數的傳遞特點:按值傳遞(變量傳遞方式有兩種,按值傳遞和按引用傳遞)。按值傳遞的基礎是變量值的復制,如果函數外部的變量,類型是值類型,就把它的值復制給函數的參數。如果函數外部的變量,類型是引用類型,就把一個指向該變量值(一個內存中的對象)的指針復制給函數的參數。