C++語言中的指標是一個變數,它也稱為定位符或指示符,它是指向一個值的地址。
指標的優點
指標的使用
在C++語言中有許多指標的使用。
動態記憶體分配
在c語言中,可以使用malloc()
和calloc()
函式動態分配記憶體,其中使用的就是指標。
陣列,函式和結構體
C語言中的指標被廣泛用於陣列,函式和結構體中。 它減少了程式碼並提高了效能。
符號 | 名稱 | 描述 |
---|---|---|
& |
地址運算子 | 獲取變數的地址。 |
* |
間接運算子 | 存取地址的值。 |
C++語言中的指標可以使用*
(星號符號)宣告。
int ? a; //pointer to int
char ? c; //pointer to char
下面來看看看使用指標列印地址和值的簡單例子。
#include <iostream>
using namespace std;
int main()
{
int number=30;
int ? p;
p=&number;//stores the address of number variable
cout<<"Address of number variable is:"<<&number<<endl;
cout<<"Address of p variable is:"<<p<<endl;
cout<<"Value of p variable is:"<<*p<<endl;
return 0;
}
執行上面程式碼得到如下結果 -
Address of number variable is:0x7ffccc8724c4
Address of p variable is:0x7ffccc8724c4
Value of p variable is:30
在不使用第三個變數的情況下交換2個數位的指標程式範例
#include <iostream>
using namespace std;
int main()
{
int a=20,b=10,?p1=&a,?p2=&b;
cout<<"Before swap: ?p1="<<?p1<<" ?p2="<<?p2<<endl;
?p1=?p1+?p2;
?p2=?p1-?p2;
?p1=?p1-?p2;
cout<<"After swap: ?p1="<<?p1<<" ?p2="<<?p2<<endl;
return 0;
}
執行上面程式碼得到如下結果 -
Address of number variable is:0x7ffccc8724c4
Address of p variable is:0x7ffccc8724c4
Value of p variable is:30