亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? 教學(xué)--第二十章 指針 二 為指針?lè)峙浜歪尫趴臻g.htm

?? C++的入門(mén)書(shū)籍。文字簡(jiǎn)單有趣,通俗易懂。
?? HTM
?? 第 1 頁(yè) / 共 5 頁(yè)
字號(hào):
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0045)http://d2school.com/bcyl/bhcpp/newls/ls20.htm -->
<HTML><HEAD><TITLE>教學(xué)--第二十章 指針 二 為指針?lè)峙浜歪尫趴臻g</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<STYLE type=text/css>P {
	MARGIN: 1px 2px; LINE-HEIGHT: 150%
}
.節(jié)標(biāo)題 {
	FONT-WEIGHT: bold; FONT-SIZE: 12pt
}
TD {
	FONT-SIZE: 9pt
}
.tdtitle {
	FONT-SIZE: 20pt
}
.celltopline {
	BORDER-TOP: #000000 1px solid
}
.menucell {
	FONT-SIZE: 10pt
}
#glowtext {
	FONT-SIZE: 10pt; FILTER: glow(color=red,strength=1); WIDTH: 100%
}
A:link {
	FONT: 10pt 宋體; COLOR: blue; TEXT-DECORATION: none
}
A:visited {
	FONT: 10pt 宋體; COLOR: purple; TEXT-DECORATION: none
}
A:active {
	FONT: 10pt 宋體; COLOR: red; TEXT-DECORATION: underline
}
A:hover {
	COLOR: blue; TEXT-DECORATION: underline
}
</STYLE>

<META content="MSHTML 6.00.2900.2180" name=GENERATOR></HEAD>
<BODY leftMargin=0 topMargin=3>
<CENTER>
<TABLE height=105 cellSpacing=4 cellPadding=4 width=760 border=0>
  <TBODY>
  <TR>
    <TD 
    style="FONT-SIZE: 10pt; TEXT-INDENT: 20px; LINE-HEIGHT: 150%; FONT-FAMILY: &Euml;&Icirc;&Igrave;&aring;" 
    width="100%" height=210>
      <H2>第二十章 指針 二 <SPAN lang=zh-cn>為指針?lè)峙浜歪尫趴臻g</SPAN></H2>
      <P> 
      <P><A href="http://d2school.com/bcyl/bhcpp/newls/ls20.htm#20.1">20.1 
      理解指針的兩種“改變”</A>
      <P><A href="http://d2school.com/bcyl/bhcpp/newls/ls20.htm#20.1.1">&nbsp; 
      20.1.1 改變指針的值</A>
      <P>&nbsp; <A 
      href="http://d2school.com/bcyl/bhcpp/newls/ls20.htm#20.1.2">20.1.2 
      改變指針?biāo)傅淖兞康闹?lt;/A>
      <P>&nbsp; <A 
      href="http://d2school.com/bcyl/bhcpp/newls/ls20.htm#20.1.3">20.1.3 
      兩種改變?一種改變?</A>
      <P><A href="http://d2school.com/bcyl/bhcpp/newls/ls20.htm#20.2">20.2 C++ 
      方式的內(nèi)存分配與釋放 new 和 delete</A>
      <P>&nbsp; <A 
      href="http://d2school.com/bcyl/bhcpp/newls/ls20.htm#20.2.1">20.2.1 new 
</A>
      <P>&nbsp; <A 
      href="http://d2school.com/bcyl/bhcpp/newls/ls20.htm#20.2.2">20.2.2 在new 
      時(shí)初始化內(nèi)存的值</A>
      <P>&nbsp; <A 
      href="http://d2school.com/bcyl/bhcpp/newls/ls20.htm#20.2.3">20.2.3 
      delete</A>
      <P>&nbsp; <A 
      href="http://d2school.com/bcyl/bhcpp/newls/ls20.htm#20.2.4">20.2.4 實(shí)驗(yàn): new 
      和 delete</A>
      <P>&nbsp; <A 
      href="http://d2school.com/bcyl/bhcpp/newls/ls20.htm#20.2.5">20.2.5 new 和 
      delete 的關(guān)系</A>
      <P><A href="http://d2school.com/bcyl/bhcpp/newls/ls20.htm#20.3">20.3 new 
      [] 和 delete []</A>
      <P>&nbsp; <A 
      href="http://d2school.com/bcyl/bhcpp/newls/ls20.htm#20.3.1">20.3.1 new[] / 
      delete[] 基本用法</A>
      <P>&nbsp; <A 
      href="http://d2school.com/bcyl/bhcpp/newls/ls20.htm#20.3.2">20.3.2 new []/ 
      delete[] 示例</A>
      <P>&nbsp;<A href="http://d2school.com/bcyl/bhcpp/newls/ls20.htm#20.3.3"> 
      20.3.3 詳解指向連續(xù)空間的指針</A>
      <P><A href="http://d2school.com/bcyl/bhcpp/newls/ls20.htm#20.4">20.4 
      delete/delete[] 的兩個(gè)注意點(diǎn)</A>
      <P>&nbsp; <A 
      href="http://d2school.com/bcyl/bhcpp/newls/ls20.htm#20.4.1">20.4.1 
      一個(gè)指針被刪除時(shí),應(yīng)指向最初的地址</A>
      <P>&nbsp; <A 
      href="http://d2school.com/bcyl/bhcpp/newls/ls20.htm#20.4.2">20.4.2 
      已釋放的空間,不可重復(fù)釋放</A>
      <P><A href="http://d2school.com/bcyl/bhcpp/newls/ls20.htm#20.5">20.5 C 
      方式的內(nèi)存管理</A>
      <P>&nbsp; <A 
      href="http://d2school.com/bcyl/bhcpp/newls/ls20.htm#20.5.1">20.5.1 分配內(nèi)存 
      malloc 函數(shù)</A>
      <P>&nbsp;<A href="http://d2school.com/bcyl/bhcpp/newls/ls20.htm#20.5.2"> 
      20.5.2 釋放內(nèi)存 free 函數(shù)</A>
      <P>&nbsp; <A 
      href="http://d2school.com/bcyl/bhcpp/newls/ls20.htm#20.5.3">20.5.3 
      重調(diào)空間的大小: realloc 函數(shù)</A>
      <P>&nbsp;<A href="http://d2school.com/bcyl/bhcpp/newls/ls20.htm#20.5.4"> 
      20.5.4 malloc、realloc、free的例子</A>
      <P>
      <P> 
      <H3><B><A name=20.1>20.1</A> 理解指針的兩種“改變”</B></H3>
      <P>普通變量(非指針,簡(jiǎn)單類型變量)只能改變值:
      <P> 
      <P><SPAN lang=en-us>1) int a = 100;</SPAN>
      <P><SPAN lang=en-us>2) ...</SPAN>
      <P><SPAN lang=en-us>3) a = 200;</SPAN>
      <P> 
      <P>第<SPAN lang=en-us> </SPAN>1<SPAN lang=en-us> 
      </SPAN>行代碼,聲明int類型變量a,并且初始化a的值為100。
      <P>到第<SPAN lang=en-us> </SPAN>3<SPAN lang=en-us> </SPAN>行代碼,變量a的值被改變成200。
      <P> 
      <P>對(duì)于非指針的簡(jiǎn)單變量,能被程序改變的,只有這一種。而指針變量,似乎有兩種改變。
      <P> 
      <H4><A name=20.1.1>20.1.1</A> 改變指針的值</H4>
      <P>這一點(diǎn)和普通變量一致。但要特別注意,“改變指針的值”引起的結(jié)果是什么?其實(shí)就是“改變指針的指向”。
      <P>因?yàn)椋羔樀闹凳悄硞€(gè)變量的地址。假如指針P原來(lái)的值是A變量的地址,現(xiàn)在改為B變量的地址。我們稱為:“P由指向A改為指向B”。這就是指針的第一種改變。
      <P>以下是示例代碼:
      <P><SPAN lang=en-us>int* P;</SPAN>
      <P><SPAN lang=en-us>int A,B;</SPAN>
      <P> 
      <P><SPAN lang=en-us>1) P = &amp;A;</SPAN>
      <P><SPAN lang=en-us>2) ...</SPAN>
      <P><SPAN lang=en-us>3) P = &amp;B;</SPAN>
      <P> 
      <P><SPAN lang=en-us>1) </SPAN>行代碼中,P 的值為<SPAN lang=en-us> 
      &amp;A</SPAN>,即P指向變量A。
      <P>到3)行代碼中,<SPAN lang=en-us>P</SPAN>的值變?yōu)?lt;SPAN 
      lang=en-us>&amp;B</SPAN>,即改為指向變量B。
      <P> 
      <P>下面講:指針的第二種改變<SPAN lang=zh-cn>。</SPAN>通過(guò)指針,改變指針?biāo)傅淖兞康闹怠?      <P> 
      <H4><A name=20.1.2>20.1.2</A> 改變指針?biāo)傅淖兞康闹?lt;/H4>
      <P> 
      <P>復(fù)習(xí)前一章,我們知道通過(guò) * (地址解析符),可以得到、或改變指針?biāo)傅淖兞康闹怠?      <P> 
      <P><SPAN lang=en-us>int* P;</SPAN>
      <P><SPAN lang=en-us>int A = 100;</SPAN>
      <P> 
      <P><SPAN lang=en-us>P = &amp;A;</SPAN>
      <P><B><SPAN lang=en-us>*P = 200;</SPAN></B>
      <P> 
      <P><SPAN lang=en-us>cout &lt;&lt; A &lt;&lt; endl;</SPAN>
      <P> 
      <P>代碼中加粗的那一行:<SPAN lang=en-us>*P = 200; </SPAN>,其作用完全等同于:<SPAN 
      lang=en-us>A = 200;</SPAN>
      <P>所以,最后一行輸出的結(jié)果是 200。
      <P> 
      <P>這就是指針的第二種改變:所指變量的值,被改變了。
      <P> 
      <H4><A name=20.1.3>20.1.3</A> <SPAN lang=zh-cn>兩種改變?一種改變?</SPAN></H4>
      <P> 
      <P>兩種改變的意義不同:
      <P>改變一:改變指針本身的值(改變指向)。
      <P>改變二:改變指針指向的變量的值。
      <P> 
      <P>從代碼上看:
      <P>第一種改變,P = <SPAN lang=en-us>&amp;A; </SPAN>左值(等號(hào)左邊的值)是變量本身,右值則是一個(gè)地址。
      <P>而第二種改變,<SPAN lang=en-us>*P = </SPAN>200<SPAN lang=en-us>; 
      </SPAN>左值通過(guò)星號(hào)對(duì)P操作,來(lái)取得P指向的變量;右值是普通的值。
      <P> 
      <P>理解<SPAN lang=en-us>,</SPAN>區(qū)分對(duì)指針的兩種改變,才能學(xué)會(huì)如何使用指針。
      <P> 
      <P>請(qǐng)思考:上一章講的“指針的加減操作”,是對(duì)指針的哪一種改變?
      <P> 
      <P>最后需要說(shuō)明,嚴(yán)格意義上,指針仍然只有一種改變,即改變指針本身的值。改變指針指向的變量,應(yīng)視為對(duì)另一變量的改變,只不過(guò)在代碼上,它通過(guò)指針來(lái)進(jìn)行,而不是直接對(duì)另一變量進(jìn)行操作。
      <P> 
      <P>為指針?lè)峙洹⑨尫艃?nèi)存空間
      <P> 
      <P>之前,我們給指針下的定義是“指針是一個(gè)變量,它存放的值是另一個(gè)變量的地址”。
      <P>比如:
      <P><SPAN lang=en-us>int a;</SPAN>
      <P><SPAN lang=en-us>int* p = &amp;a;</SPAN>
      <P> 
      <P>看,a 就是“另一個(gè)變量”,p指向了a。
      <P>我們知道,變量總是要占用一定的內(nèi)存空間,比如上面的a,就占用了4個(gè)字節(jié)(<SPAN 
      lang=en-us>sizeof(int))</SPAN>。這四個(gè)字節(jié)屬于誰(shuí)?當(dāng)然屬于變量a,而不是p。
      <P> 
      <P>現(xiàn)在要講的是:也可以單獨(dú)為指針?lè)峙湟欢涡碌膬?nèi)存空間。這一段內(nèi)容不屬于某個(gè)變量。
      <P> 
      <H3><SPAN lang=zh-cn><A name=20.2>20.2</A> </SPAN><SPAN lang=en-us>C++ 
      </SPAN>方式的內(nèi)存分配與釋放<SPAN lang=en-us> new </SPAN>和<SPAN lang=en-us> 
      delete</SPAN></H3>
      <P><SPAN lang=zh-cn>在內(nèi)存管理上,C++ 和 C 
      有著完全不同的兩套方案。當(dāng)然,C++的總是同時(shí)兼容C。C的那一套方案在C++里同樣可行。</SPAN>
      <P><SPAN lang=zh-cn>我們首先看看純C++的那一套:</SPAN> new <SPAN lang=zh-cn>和</SPAN> 
      delete<SPAN lang=zh-cn>。</SPAN>
      <P>new <SPAN lang=zh-cn>,從字面上看意思為 “新”;而</SPAN>delete <SPAN 
      lang=zh-cn>字面意思為“刪除”。二者在C++中內(nèi)存管理中大致的功能,應(yīng)是一個(gè)為“新建”,一個(gè)為“刪除”。</SPAN>
      <P> 
      <H4><B><SPAN lang=zh-cn><A name=20.2.1>20.2.1</A> </SPAN><SPAN 
      lang=en-us>new </SPAN></B></H4>
      <P> 
      <P><SPAN lang=en-us>new </SPAN>是<SPAN lang=en-us> c++ 
      </SPAN>的一個(gè)關(guān)鍵字。被當(dāng)作像<SPAN lang=en-us> +</SPAN>、-、* 、/ 
      一樣的操作符。它的操作結(jié)果是在申請(qǐng)到一段指定數(shù)據(jù)類型大小的內(nèi)存。
      <P> 
      <P>語(yǔ)法:
      <P> 
      <P>指針變量<SPAN lang=en-us> = <B>new</B> </SPAN>數(shù)據(jù)類型<SPAN lang=en-us>;</SPAN>
      <P> 
      <P><SPAN lang=en-us>new </SPAN>將做三件事:
      <P> 
      <P>1、主動(dòng)計(jì)算指定數(shù)據(jù)類型需要的內(nèi)存空間大小;
      <P>2、返回正確的指針類型;
      <P>3、在分配內(nèi)存的一,將按照語(yǔ)法規(guī)則,初始化所分配的內(nèi)存。
      <P> 
      <P>這是什么意思呢?看看例子吧:
      <P> 
      <P><SPAN lang=en-us>int* p;</SPAN>
      <P><SPAN lang=en-us>p = new int;</SPAN>
      <P> 
      <P>和以往不一樣,p 這回不再“寄人籬下”,并不是指向某個(gè)已存在的變量,而是直接指向一段由<SPAN lang=en-us>new 
      </SPAN>分配而來(lái)的新內(nèi)存空間。
      <P> 
      <P>“<SPAN lang=en-us>p </SPAN>指向一段由<SPAN lang=en-us>new </SPAN>分配而來(lái)的新內(nèi)存空間” 
      這句話等同于:
      <P>“<SPAN lang=en-us>new </SPAN>分配一段新的內(nèi)存空間,然后將該內(nèi)存空間的地址存入到變量p中。”
      <P>所以,最終p中仍然是存儲(chǔ)了一個(gè)變量的地址,只是,這是一個(gè)“無(wú)名”變量。
      <P> 
      <P>指向原有的某個(gè)變量,和指向一段新分配的內(nèi)存空間,有什么區(qū)別呢?

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜精品影院在线观看| 国产剧情一区在线| 国产精品久线在线观看| 日韩一区二区三区三四区视频在线观看 | 欧美一二三区在线观看| 91浏览器打开| 国产91丝袜在线播放| 国模一区二区三区白浆| 免费成人在线播放| 午夜视频在线观看一区| 亚洲国产sm捆绑调教视频 | 国内精品免费在线观看| 蜜桃视频在线观看一区| 水野朝阳av一区二区三区| 艳妇臀荡乳欲伦亚洲一区| 又紧又大又爽精品一区二区| 精品成人一区二区三区| 日韩视频在线观看一区二区| 欧美喷水一区二区| 欧美精选午夜久久久乱码6080| 色悠悠亚洲一区二区| 色综合久久99| 在线观看一区二区精品视频| 91福利视频在线| 91在线观看一区二区| 成人激情免费网站| 成人av网址在线| 91免费观看视频在线| 成人免费看视频| 97成人超碰视| 91黄色免费版| 欧美日韩中文精品| 欧美一区二区三区视频在线观看| 91美女片黄在线观看91美女| 91日韩精品一区| 在线亚洲精品福利网址导航| 在线中文字幕不卡| 欧美日韩大陆一区二区| 777亚洲妇女| 日韩女优av电影在线观看| 日韩欧美一区二区三区在线| 欧美mv日韩mv国产网站app| 精品福利一区二区三区| 国产欧美视频一区二区三区| 国产午夜精品久久久久久久| **网站欧美大片在线观看| 亚洲人成精品久久久久| 亚洲一区中文在线| 日本在线不卡一区| 国产福利电影一区二区三区| 91在线看国产| 欧美精品三级在线观看| 精品国产一区二区三区久久影院| 久久精品水蜜桃av综合天堂| 亚洲免费高清视频在线| 视频一区二区不卡| 国产一区二区看久久| 99精品欧美一区二区蜜桃免费| 成人av网址在线| 欧美日韩国产精品自在自线| 欧美成人精精品一区二区频| 欧美高清在线一区二区| 亚洲一区二区不卡免费| 麻豆精品视频在线观看免费| 国产suv一区二区三区88区| 日本丶国产丶欧美色综合| 欧美一区二区在线观看| 国产日产亚洲精品系列| 亚洲人精品一区| 另类中文字幕网| 成人久久久精品乱码一区二区三区| 在线免费不卡视频| 精品国产伦一区二区三区免费| 国产精品短视频| 美女网站色91| 91视视频在线直接观看在线看网页在线看| 在线精品观看国产| 久久久久久久电影| 亚洲成av人综合在线观看| 国产精品自拍av| 欧美人成免费网站| 国产精品久久久久久久岛一牛影视 | 亚洲v精品v日韩v欧美v专区| 99久久精品免费观看| 欧美国产一区二区在线观看| 极品少妇一区二区三区精品视频| 欧美性三三影院| 亚洲夂夂婷婷色拍ww47| 色综合久久88色综合天天6| 久久久www免费人成精品| 久久精品国产999大香线蕉| 欧美丰满少妇xxxxx高潮对白| 亚洲自拍偷拍麻豆| 欧美亚洲免费在线一区| 夜夜揉揉日日人人青青一国产精品| 99视频精品全部免费在线| 亚洲国产精品ⅴa在线观看| 国产一区二区0| 久久先锋资源网| 国产精品一区二区三区网站| 精品99久久久久久| 国产美女主播视频一区| 精品国产1区二区| 国产精品综合一区二区| 国产日韩欧美亚洲| www.色综合.com| 亚洲欧洲色图综合| 99在线精品观看| 一区二区国产视频| 欧美日韩精品一区视频| 图片区日韩欧美亚洲| 欧美一区二区三区的| 美女脱光内衣内裤视频久久网站 | 欧美主播一区二区三区| 亚洲高清视频的网址| 欧美日本在线播放| 欧美a级一区二区| 欧美精品一区在线观看| 国产成人鲁色资源国产91色综| 亚洲国产精品传媒在线观看| 不卡大黄网站免费看| 亚洲激情图片qvod| 91精品国产综合久久久久久| 免费在线看一区| 久久久亚洲精品一区二区三区| 成人av在线影院| 亚洲综合一区在线| 日韩一区二区精品在线观看| 国内外成人在线| 国产精品素人视频| 色综合av在线| 奇米影视一区二区三区| 久久精品在线观看| 91免费版在线| 天天av天天翘天天综合网色鬼国产 | 国产性做久久久久久| 91麻豆福利精品推荐| 性久久久久久久久久久久| 精品福利一区二区三区 | 日本一二三不卡| 欧美中文字幕一区| 久草中文综合在线| 亚洲少妇屁股交4| 日韩午夜激情av| 91免费版在线看| 麻豆成人91精品二区三区| 国产精品欧美精品| 8x8x8国产精品| fc2成人免费人成在线观看播放| 亚洲图片欧美综合| 国产亚洲欧美中文| 欧美精品18+| 成人高清av在线| 蜜臀av性久久久久蜜臀aⅴ| 亚洲国产精品成人久久综合一区| 欧美日韩二区三区| 成人免费的视频| 美女网站色91| 亚洲综合色视频| 国产精品婷婷午夜在线观看| 91麻豆精品国产91久久久更新时间| 国产aⅴ精品一区二区三区色成熟| 亚洲18影院在线观看| 久久精品亚洲麻豆av一区二区 | 欧美福利电影网| 91网站在线观看视频| 老司机午夜精品| 亚洲欧洲av在线| 精品国产伦一区二区三区观看体验| 日本乱码高清不卡字幕| 国产成人精品在线看| 蜜臀国产一区二区三区在线播放 | 久久精品噜噜噜成人88aⅴ| 日韩一区在线免费观看| 欧美精品一区二区三| 欧美猛男男办公室激情| 91免费观看视频| 波多野结衣在线一区| 韩日欧美一区二区三区| 日韩va欧美va亚洲va久久| 一区二区三区中文字幕电影| 国产精品视频九色porn| 久久综合丝袜日本网| 日韩女优av电影| 91精品国产美女浴室洗澡无遮挡| 一本一道久久a久久精品| 波多野结衣91| 成人午夜视频在线| 国产福利91精品一区| 国产麻豆欧美日韩一区| 久久99这里只有精品| 蜜桃视频在线观看一区| 日韩一区精品字幕| 五月天激情综合| 五月天久久比比资源色| 亚洲电影视频在线| 亚洲成人动漫在线免费观看| 一区二区日韩电影| 亚洲五码中文字幕| 亚洲va在线va天堂|