C++數(shù)據(jù)類型

          Posted on 2007-09-29 01:38 在從未放棄的路上 閱讀(380) 評(píng)論(0)  編輯  收藏 所屬分類: C++

          1.文字常量(literal constant)
               char,int,short,long,float,double,long double,boolean
           for example: 128u,1024L,7LU,3.14f,'a',"aa",true
          轉(zhuǎn)義序列:一部分不可打印的字符,如換行,制表,單引號(hào),雙引號(hào)等。
          (\n,\t,,\v,\b,\r,\f,\a,\\,\?,\',\")
          寬字符文字:字符文字前面加上L,例:L'a'。寬字符常量用來支持某些語言的字符集合如漢語,日語這些語言中的某些字符不能用單個(gè)字符來表示。
          2.變量
          C++k中的每個(gè)符號(hào)變量都與一個(gè)特定的數(shù)據(jù)類型相關(guān)聯(lián),這個(gè)類型決定了相關(guān)內(nèi)存的大小,布局,能夠存儲(chǔ)在該內(nèi)存區(qū)的值的范圍以及可以應(yīng)用其上的操作集。

          例如:
                    int student_count;
                    double salary;
                    bool on_loan;
                    string street_address;
                    char delimiter;
          變量和文字常量都有存儲(chǔ)區(qū),并且有相關(guān)的類型。區(qū)別在于變量是可尋址的。
          每個(gè)變量,都有兩個(gè)值:
                   1.數(shù)據(jù)值,存儲(chǔ)于某個(gè)內(nèi)存地址中。被稱為右值,即被讀取的值。文字常量和變量都可被用作右值。
                   2.地址值,存儲(chǔ)數(shù)據(jù)值的那塊內(nèi)存的地址。它有時(shí)被稱為變量的左值,即位置值。文字常量不能被用作左值。
          在C++中,程序在使用之前必須先知道該對(duì)象。可以通過對(duì)象聲明來實(shí)現(xiàn),它的作用是使程序知道該對(duì)象的類型和名字。由關(guān)鍵字extern以及跟在后面的對(duì)象類型以及對(duì)象的名字構(gòu)成。聲明不是定義,不會(huì)引起內(nèi)存分配。一個(gè)程序只能包含一個(gè)對(duì)象的一個(gè)定義,卻可以包含任意數(shù)目的對(duì)象聲明。可將聲明放于頭文件中。

          變量名可由數(shù)字,字母,下劃線組成。以字母或下劃線開頭,區(qū)分大小寫。對(duì)長度不限制。不能使用C++的關(guān)鍵字。在實(shí)際開發(fā)中,變量名通常取代表實(shí)際含義的英文字母。
          對(duì)象的定義
          類型指示符+名字,分號(hào)結(jié)束。例如:unsigned long distance;
          如果變量是在全局域定義的,系統(tǒng)提供初始值0。如果是局部域的,或是通過new表達(dá)式動(dòng)態(tài)分配的,系統(tǒng)不提供初始值0。這樣的對(duì)象是未初始化的,它們不是沒有值,而是未定義。
          C++支持兩種形式的初始化。
          一種是使用賦值操作符的顯式語法形式:int ival=1024;
          第二種是隱式形式:int ival(1024);
          每種內(nèi)置數(shù)據(jù)類型都支持一種特殊的構(gòu)造函數(shù)語法,可將對(duì)象初始化為0。例:int ival=int();
          對(duì)象可以用任意復(fù)雜的表達(dá)式來初始化,包括函數(shù)的返回值。
          指針
          指針持有另一個(gè)對(duì)象的地址,使我們能夠間接地操作這個(gè)對(duì)象。
          通過在標(biāo)識(shí)符前加一個(gè)解引用操作符(*)來定義指針。例:
          int *p1,p2;
          complex<double> *cp;
          當(dāng)指針持有0值時(shí),表明它沒有指向任何對(duì)象,或持有一個(gè)同類型的數(shù)據(jù)對(duì)象的地址。
          空(void*)類型指針,它可以被任何數(shù)據(jù)指針類型的地址值賦值(函數(shù)指針不能賦值給它).
          不能操作空類型指針?biāo)赶虻膶?duì)象,只能傳送該地址值或?qū)⑺c其他地址值作比較。
          C++提供了解引用操作符(*)來間接地讀和寫指針?biāo)赶虻膶?duì)象。
          int ival=1024;
          int *pi=&ival;
          int **ppi=&pi;ppi是指向int指針pi的指針。
          int *pi2=*ppi;
          要訪問到ival,需要兩次解引用ppi.*ppi
          指針可以讓它的地址值增加或減少一個(gè)整數(shù)值。稱為指針的算式運(yùn)算。典型用法是遍歷一個(gè)數(shù)組。
          字符串類型
          C風(fēng)格字符串


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           

          posts - 9, comments - 0, trackbacks - 0, articles - 3

          Copyright © 在從未放棄的路上

          主站蜘蛛池模板: 莒南县| 舒城县| 嘉鱼县| 勃利县| 伊春市| 蓬安县| 博客| 怀集县| 海淀区| 招远市| 美姑县| 武隆县| 井陉县| 二手房| 额尔古纳市| 新化县| 浙江省| 利辛县| 彰化市| 九龙县| 九龙坡区| 宜州市| 图们市| 集贤县| 敦煌市| 东兰县| 武邑县| 富民县| 崇左市| 扎兰屯市| 敖汉旗| 鹤峰县| 墨竹工卡县| 治县。| 专栏| 健康| 连云港市| 来宾市| 大新县| 韶山市| 紫金县|