基本原則:指針類型變量存儲的就是地址!
1.數組名就是數組首元素的地址**數組
int age[3]; int* p = age;
2.使用new操做符其實是向操做系統申請一塊內存(包含類型信息),返回的就是該塊內存的地址。咱們要引用他,就要指針指向這段內存的地址。函數
int* p1 = new int(10);//該int的值爲10 Student* p3 = new Student;//其中Student是結構體
3.->
操做符,專門用於操做指針指向對象(結構體,對象)的成員
p3->age = 13;
4.操做符能夠操做指針指向的地址操作系統
(*p3).age = 13 int sum = 0; int* p5 = ∑ *p5 = 1; cout << *p5;
5.&
操做符,專門用於取地址指針
Student s1;//Student是結構體 s1.name = "123"; s1.age = 13; Student* p3 = new Student; Student* p4 = &s1;
總之:
當你看到了指針,你就要想到地址,就要想到*,想到取地址操做符&,想到->,指針是有類型的。注意:C++中的引用類型參數(&),和取地址操做符&是不同的。code
6.函數的指針:使用前面的原則來理解,函數指針是一個什麼樣的存在呢?對象
int add(int x, int y) { return x + y; } int(*addptr)(int, int); addptr = add; cout << (*addptr)(10, 20) << endl;//提問:這裏爲何要用*