日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
淺析C++中的C++數(shù)組規(guī)則

大多數(shù)人對于C++數(shù)組的理解還是不夠深刻的,如果想要對數(shù)組賦值,那么首先要向數(shù)組元素賦值終止null和其它字符值時(shí),必須用單引號(hào),所以在處理C++數(shù)組時(shí)一定要仔細(xì)。

如果重載數(shù)組末尾,則無法知道哪個(gè)內(nèi)存被改寫了,使結(jié)果難以預(yù)料,甚至?xí)?dǎo)致程序或Windows崩潰。這類問題很難診斷,因?yàn)槭苡绊懙膬?nèi)存通常要在很久以后才訪問,這時(shí)才發(fā)生崩潰(讓你莫名其中之妙)。所以寫入數(shù)組時(shí)一定要小心。

數(shù)組規(guī)則

◆數(shù)組是以0為基數(shù)。數(shù)組中的***個(gè)元素為0,第二個(gè)元素為1,第三個(gè)元素為2,等等。

◆數(shù)組長度應(yīng)為編譯常量。編譯器在編譯時(shí)必須知道為數(shù)組分配多少內(nèi)存空間。不能用變量指定數(shù)組長度。所以下列代碼不合法,會(huì)導(dǎo)致編譯錯(cuò)誤: 小心不要重載數(shù)組末尾。

◆ 大數(shù)組從堆疊(heap)而不是堆棧(stack)中分配(詳見稍后)。
◆ 從堆疊分配的數(shù)組可以用變量指定數(shù)組長度。

字符數(shù)組

奇怪的是,C++不支持字串變量(放置文本的變量),C++數(shù)組中的字串是用char數(shù)據(jù)類型的數(shù)組表示的。例如,可以將變量賦予char數(shù)組如下。這就在內(nèi)存中分配18字節(jié)的內(nèi)存空間用于存放字串。根據(jù)你的領(lǐng)悟能力。

也許你會(huì)發(fā)現(xiàn)該字串中只有17個(gè)字符。分配18個(gè)字節(jié)的原因是字串要以終止null結(jié)尾,C++數(shù)組在分配內(nèi)存空間時(shí)把終止null算作一個(gè)字符。 新術(shù)語 終止null是個(gè)特殊字符,用|0表示,等于數(shù)值0。程序遇到字符數(shù)組中的0時(shí),表示已經(jīng)到字串末尾。為了說明這點(diǎn),輸入并運(yùn)行下列控制臺(tái)應(yīng)用程序。

 
 
 
  1. 清單1.6Nulltest.cpp   
  2.  
  3. 1: #include    
  4.  
  5. 2: #include    
  6.  
  7. 3: #pragma hdrstop   
  8.  
  9. 4:   
  10.  
  11. 5: int main(int argc,char **argv)   
  12.  
  13. 6: {   
  14.  
  15. 7:char str[]="This is a string.";   
  16.  
  17. 8.cout << str << end1;   
  18.  
  19. 9.str[7]= '\0';   
  20.  
  21. 10. cout << str << end1   
  22.  
  23. 11. cout << end1 << "Press any key to continue...";   
  24.  
  25. 12: getch();   
  26.  
  27. 13: return 0;   
  28.  
  29. 14: }  

分析 最初,字符數(shù)組包含字符串This is a string和一個(gè)終止null,這個(gè)字串通過cout送到屏幕上。下一行將數(shù)組的第7個(gè)元素賦值為|0,即終止null。字串再次發(fā)送到屏幕上,但這時(shí)只顯示This is。原因是計(jì)算機(jī)認(rèn)為數(shù)組中字串在第7個(gè)元素上終止,余下字串仍然在內(nèi)存空間中,但不顯示,因?yàn)橛龅搅私K止null。圖1.10演示了將數(shù)組的第7個(gè)元素賦值為|0的語句前后的字符數(shù)組。

說明 C++程序中單引號(hào)與雙引號(hào)是有差別的。向數(shù)組元素賦值終止null和其它字符值時(shí),必須用單引號(hào)。單引號(hào)的作用是將引號(hào)內(nèi)的字符變成整型值(該字符的ASCII值),然后將這個(gè)值存放在內(nèi)存地址中。將字串賦予字符數(shù)組時(shí),必須用雙引號(hào)。如果用錯(cuò)引號(hào),則編譯器會(huì)發(fā)生編譯錯(cuò)誤。


分享名稱:淺析C++中的C++數(shù)組規(guī)則
文章URL:http://m.5511xx.com/article/cdcioci.html