
- C++ 基礎
- C++ 首頁
- C++ 概述
- C++ 環境設定
- C++ 基本語法
- C++ 註釋
- C++ Hello World
- C++ 省略名稱空間
- C++ 常量/字面量
- C++ 關鍵字
- C++ 識別符號
- C++ 資料型別
- C++ 數值資料型別
- C++ 字元資料型別
- C++ 布林資料型別
- C++ 變數型別
- C++ 變數作用域
- C++ 多個變數
- C++ 基本輸入/輸出
- C++ 修飾符型別
- C++ 儲存類
- C++ 運算子
- C++ 數字
- C++ 列舉
- C++ 引用
- C++ 日期和時間
- C++ 控制語句
- C++ 決策
- C++ if 語句
- C++ if else 語句
- C++ 巢狀 if 語句
- C++ switch 語句
- C++ 巢狀 switch 語句
- C++ 迴圈型別
- C++ while 迴圈
- C++ for 迴圈
- C++ do while 迴圈
- C++ foreach 迴圈
- C++ 巢狀迴圈
- C++ break 語句
- C++ continue 語句
- C++ goto 語句
- C++ 建構函式
- C++ 建構函式和解構函式
- C++ 複製建構函式
C++ 指標修改
在 C++ 程式設計中,指標是一個儲存另一個變數的記憶體地址的變數。指標不直接儲存資料值,而是儲存值的記憶體位置。
什麼是 C++ 中的指標修改?
修改 C++ 中的指標值是指更改指標指向的記憶體地址或更改指標指向的記憶體地址中儲存的值的過程。
修改指標的方法
首先宣告一個指標變數並對其進行初始化。要修改指標的值,請為其分配一個新地址。如果使用動態記憶體,請使用new分配新記憶體並將它的地址賦給指標。修改指標後,您可以對其進行解引用以訪問或修改新地址處的值。
如果您動態分配記憶體,請確保使用 delete 釋放它以防止記憶體洩漏。
指標修改示例
這是一個簡單的示例,說明了如何修改指標的值:
#include <iostream> using namespace std; int main() { int var1 = 10; int var2 = 20; int* ptr = &var1; // ptr points to var1 cout << "Value pointed by ptr: " << *ptr << endl; ptr = &var2; // Modify ptr to point to var2 cout << "Value pointed by ptr after modification: " << *ptr << endl; // Dynamic memory allocation int* dynamicPtr = new int(30); ptr = dynamicPtr; // Modify ptr to point to dynamic memory cout << "Value pointed by ptr after dynamic allocation: " << *ptr << endl; // Clean up dynamic memory delete dynamicPtr; return 0; }
輸出
Value pointed by ptr: 10 Value pointed by ptr after modification: 20 Value pointed by ptr after dynamic allocation: 30
解釋
- 首先,我們聲明瞭 (var1 和 var2) 並用值 10 和 20 初始化變數。
- 然後宣告名為 ptr 的指標,它使用取地址運算子 (&) 儲存整數 var1 的地址。
- *ptr 使用解引用運算子 (*) 訪問儲存在 ptr 中的地址處的值。
- ptr = &var2; 指標 ptr 被修改為指向 var2。現在,當解引用時,它將訪問 var2 的值,即 20,因此這將列印 20。
- 現在對於動態記憶體分配,int* dynamicPtr = new int(30); 使用 new 動態分配記憶體並初始化為 30,其中此記憶體的地址儲存在指標 dynamicPtr 中。
- ptr = dynamicPtr; 在此 ptr 被修改為指向動態分配的記憶體 (dynamicPtr)。當解引用時,它將列印 30。
- delete dynamicPtr; 用於防止記憶體洩漏。
廣告