object C 資料類型

來源:互聯網
上載者:User

Objective-C資料類型可以分為:基礎資料型別 (Elementary Data Type)、物件類型和id類型。基礎資料型別 (Elementary Data Type)有:int、float、double和char類型。物件類型就是類或協議所聲明的指標類型,例如:NSAutoreleasePool * pool,其中NSAutoreleasePool是一個類,NSAutoreleasePool *是它指標類型。id類型可以表示任何類型,一般只是表示物件類型,不表示基礎資料型別 (Elementary Data Type),所以剛才的變數pool也可以聲明為id pool。本節中我們重點介紹一下基礎資料型別 (Elementary Data Type)。

1.int類型

int類型代表整數,它的十六進位表示方式:0xFFED0D,在使用NSLog函數中格式化字串使用%i表示十進位的整數,%o(字母o)表示8進位整數,%#x表示十六進位整數。它的取值範圍是與裝置相關的,無法一概而論。

2. float類型

float類型代表單精確度浮點數,要表示float類型浮點數,可以在數值後面加上f或F,例如:13.5f。float浮點數也可以用科學計數法表示,例如:1.7e4。NSLog函數中格式化字串:%f表示浮點數,%e表示科學計數法,%g表示浮點數。

3. double類型

double類型代表雙精確度浮點數,與float類型很相似,佔用的位元組空間double類型大體上是float類型的兩倍。大多數電腦是用64位表示double類型。NSLog函數中格式化字串,與float的%f、%e和 %g相同。

4. char類型

char類型代表字元類型,存放點個字元,用單引號引用起來。例如: 'A',如果要表示一些特殊字元,要使用逸出字元“\”。

資料類型執行個體如“代碼清單2-2 2.3.1-1/2.3.1-1.m”所示。

【代碼清單2-1】   2.3.1-1/2.3.1-1.m

 

[cpp]
#import <Foundation/Foundation.h>  
  
int main (int argc, const char * argv[]) {  
  
    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];  
  
         int integerVar = 100;  
  
         float floatingVar = 331.79;  
  
         double doubleVar = 8.44e+11;  
  
         char charVar = 'W';  
  
          
  
         NSLog(@"integerVar = %i", integerVar);  
  
         NSLog(@"floatingVar = %f", floatingVar);  
  
         NSLog(@"doubleVar = %e", doubleVar);  
  
         NSLog(@"doubleVar = %g", doubleVar);  
  
         NSLog(@"charVar = %c", charVar);  
  
          
  
         [pool drain];  
  
    return 0;  
  
}  


輸出結果如下:

2011-09-16 10:30:26.921 2.3.1[707:a0f] integerVar = 100

2011-09-16 10:30:26.923 2.3.1[707:a0f] floatingVar = 331.790009

2011-09-16 10:30:26.924 2.3.1[707:a0f] doubleVar = 8.440000e+11

2011-09-16 10:30:26.924 2.3.1[707:a0f] doubleVar = 8.44e+11

2011-09-16 10:30:26.924 2.3.1[707:a0f] charVar = W

Obejctive-C中資料類型可以在int、float、double和char類型前面加上限定詞,限定詞有:long、long long、short、unsigned和signed,這些限定詞從而增強了基本類型。

·           long int,在大部分電腦中代表32位整數,在整數後面加L(或l)表示,例如:long int numberOfPoints = 131071100L,NSLog函數中格式化字串使用%li表示;

·           long long int可以指定更加寬泛的整數類型,保證變數至少64位寬度。NSLog函數中格式化字串使用%lli表示;

·           long double ,可以指定更加寬泛的double類型,要顯示這個可以在尾部使用L(大小寫)表示,1.234e+7L。NSLog函數中格式化字串使用%Lf、%Le和%Lg表示;

·           short int用來指定存放相對小的整數,一般是佔用int類型的一半。大部分電腦是16位;

·           unsigned int,告訴編譯器只是接受整數,在數值之後放字母u(或U)表示,例如:0x00ffU;編寫整數時候,可以將字母u(或U)和l(或L)組合起來,例如:20000UL;

signed char,代表的字元與編譯器有關,一般也作為無符合整數使用。


摘自 516inc的專欄

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.