欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C++基礎(chǔ)入門(mén)教程(四):枚舉和指針

 更新時(shí)間:2014年11月03日 10:10:37   作者:笨木頭  
這篇文章主要介紹了C++基礎(chǔ)入門(mén)教程(四):枚舉和指針,本文重點(diǎn)講解了指針,有幽默搞笑的語(yǔ)言描述了指針,需要的朋友可以參考下

我已經(jīng)把《C++ Primer》一書(shū)準(zhǔn)備好了,如果這本《C++ Primer Plus》繼續(xù)這么瞎鬧的話(huà),我就換主角~!

沒(méi)錯(cuò),這書(shū)連if while都還沒(méi)介紹呢,就開(kāi)始把指針搬出來(lái)了,雖然只是簡(jiǎn)單介紹..
這目錄編排我也是醒了。

那么,按照書(shū)上的進(jìn)度,今天來(lái)初步說(shuō)說(shuō)指針。
但,今天周五,你懂的,就隨便水一下,因?yàn)槲遗碌街芤挥滞恕?/p>

1.枚舉

那么,枚舉是什么呢?(小若:等等~!說(shuō)好的指針呢?)
大部分高級(jí)語(yǔ)言里應(yīng)該都有枚舉了,所以也沒(méi)什么好介紹的。
使用是這樣的:

復(fù)制代碼 代碼如下:

// 定義
enum MonsterType {
   enMonster_nor,
   enMonster_hard,
}
// 聲明一個(gè)枚舉變量
MonsterType mType;
// 使用
if(mType == enMonster_nor) {
   log("去死吧~!");
}
else if(type == enMonster_hard) {
   log("哦呵呵,您好,這是我這個(gè)月的薪水,都給您了哦,我最崇拜您了,您是我這輩子最....(1萬(wàn)字省略)");
}

2.什么是指針

因?yàn)檫@不是真正的C++教程,只是補(bǔ)充而已,所以基礎(chǔ)概念我就不說(shuō)。
指針就是能夠指向內(nèi)存空間的東西,沒(méi)錯(cuò),它只是指向內(nèi)存空間,它本身不是內(nèi)存空間。
 
好了,不嘮叨。

3.聲明指針

聲明指針變量是很簡(jiǎn)單的事情,如下代碼:

復(fù)制代碼 代碼如下:

int num = 10;
int *p = #

沒(méi)錯(cuò),即使是我們以前的普通變量也是有內(nèi)存地址的,使用&符號(hào)就能取得它的內(nèi)容地址。
然后,我們的指針變量p就是專(zhuān)門(mén)用來(lái)存放內(nèi)存地址的。
在聲明變量的時(shí)候,加上*號(hào)就代碼這是指針變量。

記住,這是聲明~接下來(lái)如果沒(méi)學(xué)過(guò)指針的,就會(huì)混亂了。

4.使用指針

指針要怎么使用呢?很簡(jiǎn)單,如下代碼:

復(fù)制代碼 代碼如下:

int num = 10;
    int *p = #
    *p = 20;
    std::cout << *p << "\n";
    std::cout << num << "\n";

最后,*p和num都是20。
p是指針變量,它保存了num變量的內(nèi)存地址。
而*p就是這個(gè)內(nèi)存地址上面的值,也就是我們的變量num的值了。
于是,*p = 20 就代表把這個(gè)內(nèi)存地址上的值改為20。

重點(diǎn)來(lái)了:

1.假設(shè)num的內(nèi)存地址0xffffff,這個(gè)地址上的存儲(chǔ)的內(nèi)容是數(shù)字10
2.p是一個(gè)指針,它保存了num的內(nèi)存地址,所以p的值是0xffffff,這個(gè)地址上的存儲(chǔ)的內(nèi)容是數(shù)字10
3.*p代表是p指向的那個(gè)內(nèi)存地址上面所存儲(chǔ)的內(nèi)容,也就是數(shù)字10,換句話(huà)說(shuō),*p的值是10
4.指向*p = 20,相當(dāng)于把p指向的內(nèi)存地址上面的內(nèi)容改為20
5.由于num的內(nèi)存地址就是p指向的地址,所以num在內(nèi)存中保存的值已經(jīng)改變了
6.最終num的值也會(huì)變成20

明白了么?(小若:用中文再說(shuō)一遍)
嗯,用中文再說(shuō)一遍的話(huà),那就是:

因?yàn)閜指向的內(nèi)存地址就是num所在的內(nèi)存地址,所以通過(guò)num和*p都能改變這個(gè)地址上的內(nèi)容。
一句話(huà),此刻*p相當(dāng)于num,可以進(jìn)行各種操作(賦值、加減法等等)
(小若:早點(diǎn)說(shuō)中文多好啊!非得顯擺你那半調(diào)子日語(yǔ)嗎??。?/p>

5.指針外傳

有時(shí)候,我們可以這樣聲明指針:

復(fù)制代碼 代碼如下:

int *num;
// 但你千萬(wàn)不能這么使用
*num = 100;

咋一看,這么使用好像很正常,和剛剛說(shuō)的一樣。
但,請(qǐng)注意,指針num在聲明的時(shí)候并沒(méi)有賦值,也就是說(shuō),這個(gè)指針現(xiàn)在不知道是指向哪里的。
所以,隨便使用這樣一個(gè)不知道是指向哪的指針,很可能會(huì)破壞我們的程序。
 
比如吖,我們本來(lái)是想聲明一個(gè)指向我們一根頭發(fā)的指針,但是,我們沒(méi)有給它賦值。
于是,這指針就不知道指向哪了,它可能還指向它以前曾經(jīng)指過(guò)的地方。
萬(wàn)一這指針以前指向的地方是我們的腰部以下的部位呢?
 
萬(wàn)一我們用這個(gè)指針執(zhí)行了“剪掉指針?biāo)傅牡胤?,全剪了”?br /> 沒(méi)錯(cuò),本以為剪的是頭發(fā),結(jié)果呢!把腰部以下給剪了!
這下半輩子怎么辦,就再也不能跑步了(你想哪去了?)

6.結(jié)束了

好,今天就水到這里了~下次見(jiàn)

相關(guān)文章

  • MFC列表控件CListCtrl使用方法示范

    MFC列表控件CListCtrl使用方法示范

    這篇文章主要介紹了MFC列表控件CListCtrl使用方法示范,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07
  • C++異常捕捉與處理的深入講解

    C++異常捕捉與處理的深入講解

    這篇文章主要給你大家介紹了關(guān)于C++異常捕捉與處理的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • 深入解析C++中的std::thread的使用

    深入解析C++中的std::thread的使用

    這篇文章主要介紹了C++中的std::thread的使用,在C++11新標(biāo)準(zhǔn)中,可以簡(jiǎn)單通過(guò)使用thread庫(kù),來(lái)管理多線(xiàn)程,本文通過(guò)實(shí)例代碼給大家詳細(xì)講解,需要的朋友可以參考下
    2023-04-04
  • Qt 智能指針QScopedPoint用法小結(jié)

    Qt 智能指針QScopedPoint用法小結(jié)

    智能指針是C++11引入的一種指針?lè)庋b類(lèi)型,用于自動(dòng)管理動(dòng)態(tài)分配的內(nèi)存,本文主要介紹了Qt 智能指針QScopedPoint用法小結(jié),感興趣的可以了解一下
    2024-01-01
  • C語(yǔ)言入門(mén)篇--充分理解操作符

    C語(yǔ)言入門(mén)篇--充分理解操作符

    本篇文章是基礎(chǔ)篇,適合c語(yǔ)言剛?cè)腴T(mén)的朋友,本文主要介紹了c語(yǔ)言的操作符基礎(chǔ)理論,希望可以幫助大家快速入門(mén)c語(yǔ)言的世界,更好的理解c語(yǔ)言
    2021-08-08
  • C++ 模版雙向鏈表的實(shí)現(xiàn)詳解

    C++ 模版雙向鏈表的實(shí)現(xiàn)詳解

    本篇文章是對(duì)C++中的模版雙向鏈表進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • 基于OpenCV?差分法實(shí)現(xiàn)綠葉識(shí)別

    基于OpenCV?差分法實(shí)現(xiàn)綠葉識(shí)別

    物體識(shí)別是圖像處理學(xué)在現(xiàn)實(shí)生活中較多的應(yīng)用之一,本文提供了一種相對(duì)簡(jiǎn)單的思路來(lái)實(shí)現(xiàn)綠葉識(shí)別,適合初學(xué)圖像處理的新人研究參考。感興趣的同學(xué)可以關(guān)注一下
    2021-11-11
  • C++實(shí)現(xiàn)掃雷程序開(kāi)發(fā)

    C++實(shí)現(xiàn)掃雷程序開(kāi)發(fā)

    這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)掃雷程序開(kāi)發(fā),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-07-07
  • 提高C程序效率的10種有效方法

    提高C程序效率的10種有效方法

    本文向你介紹規(guī)范你的C代碼的10種方法。需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助
    2013-10-10
  • C++關(guān)鍵字volatile學(xué)習(xí)筆記

    C++關(guān)鍵字volatile學(xué)習(xí)筆記

    這篇文章主要為大家介紹了C++關(guān)鍵字volatile學(xué)習(xí)筆記,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-10-10

最新評(píng)論