指針和自由空間

一迁筛、關(guān)于指針的舉例說(shuō)明
    int updates = 6;
    int *p_updates;
    p_updates = &updates;
    cout << p_updates << endl  << *p_updates << endl;

1.p_updates為int類(lèi)型指針(或者說(shuō)是指向int的指針)辉词,即常量updates的值對(duì)應(yīng)的內(nèi)存地址;
2.' *****p_updates '為指針p_updates下面存儲(chǔ)的值,再次可以說(shuō)' ****p_updates '和常量updates等效*

第二、指針的聲明和初始化
    int eggs = 10;
    int *p_eggs = &eggs;
    cout << "The value of eggs is : " << eggs << ",and address is : " << &eggs << endl;
    cout << "The value of *p_eggs is : " << *p_eggs << ",and address is : " << p_eggs << endl;
    The value of eggs is : 10,and address is : 0x7fff5fbff68c
    The value of *p_eggs is : 10,and address is : 0x7fff5fbff68c
    Program ended with exit code: 0
int eggs = 10; 
int *p_eggs = &eggs;

上面兩句代碼意思是昔搂,將 p_eggs (而不是*p_eggs)的值初始化eggs的地址;
也就是說(shuō)输拇,在指針聲明和初始化的時(shí)候摘符,被初始化的是指針,而不是指針?biāo)赶虻闹怠?/p>

第三策吠、聲明和初始化指針需要注意的一條規(guī)則

在對(duì)指針應(yīng)用解除引用運(yùn)算符(*)之前逛裤,一定要將指針初始化為一個(gè)確定的、適當(dāng)?shù)牡刂贰?/p>

請(qǐng)看下面的代碼:

    int *pointer;
    *pointer = 2333333;

雖然pointer是一個(gè)指針猴抹,但是我們卻不知道它指向哪里带族?pointer聲明之后,沒(méi)有被初始化一個(gè)確定的地址蟀给,所以它可能有任何值蝙砌,這個(gè)值都會(huì)被認(rèn)為是存儲(chǔ)2333333 的地址阳堕,但如果pointer的值恰巧為' 3333333 ',計(jì)算機(jī)將會(huì)把某個(gè)數(shù)據(jù)存儲(chǔ)到這個(gè)地址' 3333333 '上,這樣就可能會(huì)出現(xiàn)一個(gè)指針指向兩個(gè)值所對(duì)應(yīng)的地址择克。

第四嘱丢、使用new來(lái)分配內(nèi)存

格式如下:

typeName *pointName = new typeName;

說(shuō)明:變量的值一般存儲(chǔ)在棧(stack)的內(nèi)存區(qū)域祠饺,通過(guò)new創(chuàng)建對(duì)象指針時(shí)則從堆(heap)的內(nèi)存區(qū)域來(lái)分配內(nèi)存。

第五汁政、使用delete來(lái)釋放內(nèi)存
int *me = new int;
...
...
delete me;

說(shuō)明:

1.一定要配對(duì)使用new 和delete道偷,否則容易發(fā)生內(nèi)存泄漏。
2.不能重復(fù)使用delete來(lái)釋放內(nèi)存记劈。
3.不能使用delete來(lái)釋放聲明變量所獲得的內(nèi)存勺鸦,只能使用delete釋放通過(guò)new分配的內(nèi)存
4.空指針(沒(méi)有初始化的指針對(duì)象)可以使用delete來(lái)釋放內(nèi)存。
5.delete刪除的只是指針對(duì)象所指向的內(nèi)存目木,而不是刪除指針對(duì)象本身换途。
6.不要?jiǎng)?chuàng)建兩個(gè)指向同一塊內(nèi)存的指針對(duì)象,因?yàn)檫@樣可能會(huì)造成delete重復(fù)釋放內(nèi)存刽射。

第六军拟、使用new來(lái)創(chuàng)建動(dòng)態(tài)數(shù)組
說(shuō)明:

1.如果通過(guò)聲明來(lái)創(chuàng)建數(shù)組,則在編譯的時(shí)候就會(huì)為數(shù)組對(duì)象分配內(nèi)存誓禁,無(wú)論程序最終是否會(huì)使用該數(shù)組懈息,它都會(huì)在那里占用內(nèi)存,在編譯時(shí)給數(shù)組分配內(nèi)存稱(chēng)為靜態(tài)聯(lián)編摹恰,意味著數(shù)組是在編譯時(shí)加入到程序中的辫继。
2.使用new來(lái)創(chuàng)建數(shù)組時(shí),如果在程序運(yùn)行階段需要使用該數(shù)組俗慈,就會(huì)進(jìn)行創(chuàng)建姑宽;如果不使用該數(shù)組,則不會(huì)創(chuàng)建數(shù)組闺阱。這樣成為動(dòng)態(tài)聯(lián)編炮车,意味著數(shù)組是在運(yùn)行時(shí)創(chuàng)建的。這樣創(chuàng)建的數(shù)組稱(chēng)為動(dòng)態(tài)數(shù)組馏颂。
3.使用動(dòng)態(tài)聯(lián)編時(shí)示血,必須指明數(shù)組的長(zhǎng)度;使用動(dòng)態(tài)聯(lián)編時(shí)則程序會(huì)在運(yùn)行時(shí)確定數(shù)組的長(zhǎng)度救拉。

1.動(dòng)態(tài)數(shù)組的創(chuàng)建和釋放:

1.創(chuàng)建,需要指明數(shù)組的類(lèi)型和元素個(gè)數(shù)
int *pptv = new int[10];
2.釋放难审,應(yīng)釋放整個(gè)數(shù)組,而不是指針對(duì)象所指向的元素
delete [] pptv;

動(dòng)態(tài)數(shù)組創(chuàng)建的通用格式如下:

typeName *pointerName = new typeName[ele_num];

說(shuō)明:

1.pptv是指向數(shù)組第一個(gè)元素的指針亿絮,*pptv是第一個(gè)元素的值告喊;
2.不能使用sizeof來(lái)確定動(dòng)態(tài)分配的數(shù)組所包含的字節(jié)數(shù)

2.使用動(dòng)態(tài)數(shù)組
*pptv是數(shù)組第一個(gè)元素的值麸拄,也可以通過(guò)pptv[index]來(lái)訪問(wèn)數(shù)組中任意一個(gè)元素的值;

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末黔姜,一起剝皮案震驚了整個(gè)濱河市拢切,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌秆吵,老刑警劉巖淮椰,帶你破解...
    沈念sama閱讀 216,744評(píng)論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異纳寂,居然都是意外死亡主穗,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,505評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén)毙芜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)忽媒,“玉大人,你說(shuō)我怎么就攤上這事腋粥』抻辏” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,105評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵隘冲,是天一觀的道長(zhǎng)闹瞧。 經(jīng)常有香客問(wèn)我,道長(zhǎng)对嚼,這世上最難降的妖魔是什么夹抗? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,242評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮纵竖,結(jié)果婚禮上漠烧,老公的妹妹穿的比我還像新娘。我一直安慰自己靡砌,他們只是感情好已脓,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,269評(píng)論 6 389
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著通殃,像睡著了一般度液。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上画舌,一...
    開(kāi)封第一講書(shū)人閱讀 51,215評(píng)論 1 299
  • 那天堕担,我揣著相機(jī)與錄音,去河邊找鬼曲聂。 笑死霹购,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的朋腋。 我是一名探鬼主播齐疙,決...
    沈念sama閱讀 40,096評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼膜楷,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了贞奋?” 一聲冷哼從身側(cè)響起赌厅,我...
    開(kāi)封第一講書(shū)人閱讀 38,939評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎轿塔,沒(méi)想到半個(gè)月后特愿,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,354評(píng)論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡勾缭,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,573評(píng)論 2 333
  • 正文 我和宋清朗相戀三年洽议,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片漫拭。...
    茶點(diǎn)故事閱讀 39,745評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖混稽,靈堂內(nèi)的尸體忽然破棺而出采驻,到底是詐尸還是另有隱情,我是刑警寧澤匈勋,帶...
    沈念sama閱讀 35,448評(píng)論 5 344
  • 正文 年R本政府宣布礼旅,位于F島的核電站,受9級(jí)特大地震影響洽洁,放射性物質(zhì)發(fā)生泄漏痘系。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,048評(píng)論 3 327
  • 文/蒙蒙 一饿自、第九天 我趴在偏房一處隱蔽的房頂上張望汰翠。 院中可真熱鬧,春花似錦昭雌、人聲如沸复唤。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,683評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)佛纫。三九已至,卻和暖如春总放,著一層夾襖步出監(jiān)牢的瞬間呈宇,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,838評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工局雄, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留甥啄,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,776評(píng)論 2 369
  • 正文 我出身青樓哎榴,卻偏偏與公主長(zhǎng)得像型豁,于是被迫代替她去往敵國(guó)和親僵蛛。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,652評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 前言 把《C++ Primer》[https://book.douban.com/subject/25708312...
    尤汐Yogy閱讀 9,516評(píng)論 1 51
  • 指針是C語(yǔ)言中廣泛使用的一種數(shù)據(jù)類(lèi)型迎变。 運(yùn)用指針編程是C語(yǔ)言最主要的風(fēng)格之一充尉。利用指針變量可以表示各種數(shù)據(jù)結(jié)構(gòu); ...
    朱森閱讀 3,440評(píng)論 3 44
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理衣形,服務(wù)發(fā)現(xiàn)驼侠,斷路器,智...
    卡卡羅2017閱讀 134,652評(píng)論 18 139
  • [精進(jìn)每一天]第317天 2017.9.27 窮人與富人的思維有何不同 內(nèi)容見(jiàn)解來(lái)自《鄉(xiāng)下人的悲歌》 作者:J....
    梁億閱讀 379評(píng)論 0 1
  • 今天加班笋熬,加到11點(diǎn)半,到家已經(jīng)12點(diǎn)腻菇。妻已睡去胳螟,在樓下轉(zhuǎn)了一圈,想一想還是找個(gè)快捷先住下吧筹吐,妻睡覺(jué)極輕糖耸,明天上班...
    明暗之間閱讀 429評(píng)論 0 0