最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++基礎入門教程(四):枚舉和指針

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

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

沒錯,這書連if while都還沒介紹呢,就開始把指針搬出來了,雖然只是簡單介紹..
這目錄編排我也是醒了。

那么,按照書上的進度,今天來初步說說指針。
但,今天周五,你懂的,就隨便水一下,因為我怕到周一又忘了。

1.枚舉

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

復制代碼 代碼如下:

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

2.什么是指針

因為這不是真正的C++教程,只是補充而已,所以基礎概念我就不說。
指針就是能夠指向內存空間的東西,沒錯,它只是指向內存空間,它本身不是內存空間。
 
好了,不嘮叨。

3.聲明指針

聲明指針變量是很簡單的事情,如下代碼:

復制代碼 代碼如下:

int num = 10;
int *p = #

沒錯,即使是我們以前的普通變量也是有內存地址的,使用&符號就能取得它的內容地址。
然后,我們的指針變量p就是專門用來存放內存地址的。
在聲明變量的時候,加上*號就代碼這是指針變量。

記住,這是聲明~接下來如果沒學過指針的,就會混亂了。

4.使用指針

指針要怎么使用呢?很簡單,如下代碼:

復制代碼 代碼如下:

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

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

重點來了:

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

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

因為p指向的內存地址就是num所在的內存地址,所以通過num和*p都能改變這個地址上的內容。
一句話,此刻*p相當于num,可以進行各種操作(賦值、加減法等等)
(小若:早點說中文多好??!非得顯擺你那半調子日語嗎??。?/p>

5.指針外傳

有時候,我們可以這樣聲明指針:

復制代碼 代碼如下:

int *num;
// 但你千萬不能這么使用
*num = 100;

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

6.結束了

好,今天就水到這里了~下次見

相關文章

  • 解析C++浮點數(shù)無效值的定義與無效值判定的小結

    解析C++浮點數(shù)無效值的定義與無效值判定的小結

    本篇文章是對C++中浮點數(shù)無效值的定義與無效值的判定進行了詳細的分析介紹,需要的朋友參考下
    2013-05-05
  • 詳解C++ 動態(tài)庫導出函數(shù)名亂碼及解決

    詳解C++ 動態(tài)庫導出函數(shù)名亂碼及解決

    這篇文章主要介紹了C++ 動態(tài)庫導出函數(shù)名亂碼及解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-03-03
  • C++輸入空格字符串的三種解決方法

    C++輸入空格字符串的三種解決方法

    字符串一直是一個重點加難點,很多筆試面試都會涉及,帶空格的字符串更是十分常見,現(xiàn)在對字符串的輸入問題進行一下總結,本文給大家詳細介紹了C++輸入空格字符串的三種解決方法,需要的朋友可以參考下
    2025-04-04
  • 基于C++實現(xiàn)TCP聊天室功能

    基于C++實現(xiàn)TCP聊天室功能

    這篇文章主要為大家詳細介紹了基于C++實現(xiàn)TCP聊天室功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • C++實現(xiàn)LeetCode(18.四數(shù)之和)

    C++實現(xiàn)LeetCode(18.四數(shù)之和)

    這篇文章主要介紹了C++實現(xiàn)LeetCode(18.四數(shù)之和),本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下
    2021-07-07
  • c語言如何輸出一個n行m列的圖形

    c語言如何輸出一個n行m列的圖形

    這篇文章主要介紹了c語言如何輸出一個n行m列的圖形問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • EasyC++編寫頭文件

    EasyC++編寫頭文件

    這篇文章主要介紹了C++編寫頭文件,在一個C++程序中,只包含兩類文件——.cpp文件和.h文件。其中,.cpp文件被稱作C++源文件,里面放的都是C++的源代碼;而.h文件則被稱作C++頭文件,里面放的也是C++的源代碼,感興趣的小伙伴一起來看下面文章的詳細介紹吧
    2021-12-12
  • C++算法實現(xiàn)leetcode 1252奇數(shù)值單元格數(shù)目

    C++算法實現(xiàn)leetcode 1252奇數(shù)值單元格數(shù)目

    這篇文章為大家主要介紹了C++實現(xiàn)leetcode 1252奇數(shù)值單元格的數(shù)目題解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08
  • C++堆棧類模板實現(xiàn)代碼

    C++堆棧類模板實現(xiàn)代碼

    這篇文章主要為大家詳細介紹了C++堆棧類模板的實現(xiàn)代碼,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • C++實現(xiàn)頁面的緩沖區(qū)管理器

    C++實現(xiàn)頁面的緩沖區(qū)管理器

    這篇文章主要介紹了C++實現(xiàn)頁面的緩沖區(qū)管理器,文章圍繞主題展開詳細的內容介紹具有一定的參考價值,需要的小伙伴可以參考一下
    2022-08-08

最新評論

达孜县| 宁安市| 台山市| 固始县| 遵化市| 宜阳县| 十堰市| 盐山县| 盐山县| 梨树县| 旬阳县| 宿迁市| 玛纳斯县| 孙吴县| 商河县| 四会市| 孝昌县| 秀山| 阿克陶县| 合山市| 临猗县| 厦门市| 万宁市| 陕西省| 大冶市| 青岛市| 深泽县| 辽宁省| 那曲县| 民县| 井冈山市| 油尖旺区| 嫩江县| 高台县| 基隆市| 上思县| 广饶县| 康马县| 定南县| 冕宁县| 涟水县|