C++指針用于存儲另一個變量的內存地址。通過指針,可以直接訪問指針所指向的變量的值,或者修改該變量的值。以下是C++指針的一些常見用法:
變量的地址:可以使用指針來獲取一個變量的地址,例如:int* p = # 將一個整型變量num的地址存儲在指針p中。
指針的解引用:可以使用指針解引用操作符(*)來訪問指針所指向的變量的值,例如:int value = *p; 將p指針所指向的整型變量的值賦給value變量。
動態內存分配:使用new關鍵字來創建動態內存,并返回所分配內存的地址給指針,例如:int* p = new int; 會在堆上分配一個整型變量的內存,并將其地址存儲在指針p中。
數組的訪問:可以使用指針來訪問數組的元素,例如:int arr[] = {1, 2, 3}; int* p = arr; 可以通過指針p來訪問數組arr的元素。
函數指針:可以使用指針來存儲函數的地址,從而實現對函數的間接調用,例如:int (*p)(int, int) = add; 定義了一個指向函數add的指針p,可以通過p來調用add函數。
指針的算術運算:可以對指針進行加法、減法等算術運算,例如:p++,將指針p的值增加,使其指向下一個元素。
空指針和空指針常量:C++中的空指針用于表示指針不指向任何有效的地址,可以使用nullptr關鍵字來定義空指針,例如:int* p = nullptr;
總的來說,C++指針的用法非常靈活,可以用于動態內存分配、數組訪問、函數指針等多種場景。但同時也需要小心使用指針,因為指針操作容易產生錯誤,比如空指針引用、野指針等問題。