最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

C++ 指針

2023-03-15 21:20 作者:S-a-i_  | 我要投稿

指針可以聲明為*d的形式,d為變量名。

指針可以和引用一樣實現(xiàn)對其他對象的間接訪問,然而指針還有很多其他的屬性。

  1. 指針本身是一個對象,允許對指針賦值和拷貝。

  2. 指針可以在生命周期內(nèi)實現(xiàn)對不同對象的指定,這是引用無法做到的。

  3. 指針在定義時無需初始化。

這是允許的

獲取對象的地址:

指針存放某個對象地址要用取址符&

一般情況下(后面我們會講兩種特殊情況),指針類型和他所指對象的類型嚴格匹配

錯誤的

指針的值(也是地址)應(yīng)屬于一下四個狀態(tài)之一:

1。指向一個對象

2。指向緊鄰對象所占空間的下一個位置

3??罩羔?,意味著指針沒有指向任何對象

4。無效指針,也就是上述情況外的其他值


試圖操作無效指針都將引發(fā)錯誤,但是編譯器并不會檢查此類錯誤!


第二種和第三種指針沒有指向具體對象,所以訪問此類指針的對象不被允許,如果這么做了后果無法預(yù)計。


利用指針訪問對象

我們用*(解引符)來訪問指針所指的對象(如果有的話)

用*得到指針p所指的對象

這里總結(jié)一下&和*的多重含義

同一個符號意義可以完全不同

空指針

都為生成空指針

nullptr可以被轉(zhuǎn)換成任意其他的指針類型。

NULL為一個預(yù)處理變量,它的值就是0

預(yù)處理器

后面會詳細介紹,現(xiàn)在我們可以知道它是運行于編譯過程之前的一段程序就行了,預(yù)處理變量不屬于命名空間std,由預(yù)處理器管理,因此我們可以直接使用而無需std::。

注意:

讓int變量直接賦給指針是錯誤的操作,即使int變量恰好等于0

錯誤的

訪問未經(jīng)初始化的指針后果很難處理,因此建議初始化所有的指針。


賦值和指針

注意區(qū)別改變指針所指的對象和改變指針


指針可以通過==或者!=來比較,同時一個指針指向某一個對象,同時另一個指針指向另一對象的下一個地址,兩個指針也可能相等。(注:這里要用到指針的值,如果是非法指針后果將無法預(yù)測)


后面還會介紹更多關(guān)于指針的知識。(可見指針在C++中十分重要。。


void*指針

void*可以存放任意類型指針,看起來很炫酷但是這也讓我們無法知道這個地址到底是個什么類型的對象。

關(guān)于void*在比較后面會有更詳細的介紹。


練習:

改變指針的值和指針所指對象的值。

敘述下列代碼的作用

(將p1和i綁定,同時將i變成i方


?lp錯誤的原因

類型不同不能賦值


C++ 指針的評論 (共 條)

分享到微博請遵守國家法律
灵石县| 思茅市| 阿城市| 乌拉特前旗| 天镇县| 吉安县| 洪江市| 旬邑县| 东兴市| 凤冈县| 曲松县| 天祝| 晋州市| 西乌| 石楼县| 南郑县| 甘肃省| 宜川县| 陕西省| 丘北县| 成都市| 安陆市| 双牌县| 全州县| 原阳县| 漳州市| 高邮市| 江阴市| 大名县| 南漳县| 寿宁县| 平顺县| 新蔡县| 阜平县| 嘉祥县| 容城县| 满洲里市| 仁化县| 丹东市| 龙口市| 阜新|