指標初步認識

2021-09-08 15:53:48 字數 621 閱讀 6796

int a[10],*p;

p=&a[0];

p=a;

形式

含義*++p

p先加1,再取p的值

(*p)++

*p指向的物件加1

有**p++和*(p++)

先取*p的值,再p++

#指標間可以相減,不可相加,相加無實際意義。

說明:[ ]是變址運算子,即a[i]=*(a+i)

#使用指標指向陣列元素注意事項:

1.可以通過改變指標變數的值指向不同元素

2.不用p變化的方法而用陣列名a變化的方法是不行的。

//錯誤展示

for(p=a;a<(p+10);a++)

printf("%d",*a);

a是位址,是乙個指標型常量,其值在程式執行過程中是固定不變的。所以a++無法實現。

3.注意指標當前值。

for(i=0;i<10;i++)

scanf("%d",p++);

==p=a;==

for(i=0;i<10;i++,p++)

printf("%d",*p);

初步認識指標。。。。(新手)

看到這樣一串 int a 10 int b 20 int p a p 10 p b p 200 p a int pp p pp a pp 1000 pp b pp 2000 是不是一臉的懵逼,現在讓我們來看看他的每一句都是什麼意思。開始之前我們先了解一下指標和解引用。指標 pointer 是程式語言...

智慧型指標的初步認識

開闢了記憶體空間,必定要釋放記憶體空間,如果不釋放就會造成記憶體洩漏,引發安全問題。如果 量很少的時候,我們會記得釋放掉開闢的空間,但是如果 量過大,我們會忘記開闢的空間,那麼就需要智慧型指標來幫助我們自動釋放空間。例如 include intmain 有了智慧型指標,下面的釋放空間的語句我們就不需...

智慧型指標初步認識 自己實現

目的 new出來的物件,需要程式設計師自己釋放堆上的空間,智慧型指標就是把堆上的空間同棧一起釋放 過載 讓智慧型指標像普通指標一樣使用 分析更簡單明瞭 include using namespace std class person void showage person private int m...