標籤:
OC是增強了C的特性,所以在變數和基礎資料型別 (Elementary Data Type)上基本與C一致。
在OC中變數命名有如下規則:
由字母、數字、底線、$符號組成
必須以字母、底線、$符號開頭
大小寫敏感
在OC中定義變數的時候不能使用OC的保留字,OC的保留字如下:
OC中有如下基礎資料型別 (Elementary Data Type):
int:聲明整型變數
double:聲明雙精確度變數
float:聲明浮點型變數
char:聲明字元型變數
id:通用的指標類型
enum:聲明枚舉類型
long:聲明長整型變數或函數
short:聲明短整型變數或函數
signed:聲明有符號類型變數
struct:聲明結構體變數
union:聲明共用體(聯合)資料類型
unsigned:聲明無符號類型變數
void:聲明函數無傳回值或無參
資料類型格式化字元:
資料類型 oc關鍵字 格式說明引導符
整型 int %d.%i
短整型 short int %hd.%hi
長類型 long int %ld.%li
無符號短整型 unsigned int %u
無短整型 unsigned short %hu
無符號長整型 unsigned long %lu
浮點型 float %f
雙精確度型 double %f
長雙精確度型 long double %lf
字元型 char %c
下面有一個例子程式:
[plain] view plain copy
- //
- // main.m
- // mxy01-dataType
- //
- // Created by mxy on 13-9-7.
- // Copyright (c) 2013年 mxy. All rights reserved.
- //
-
- #import <Foundation/Foundation.h>
-
- int main(int argc, const char * argv[])
- {
-
- @autoreleasepool {
-
- //保留字是不能定義為變數名的,例如下面的int、float等就不能作為變數名
- int i = 2;
- float f = 2.3f;
- double d = 2.3e12;
- char c = ‘a‘;
-
- //輸出資料
- NSLog(@"i : %d",i);
- NSLog(@"f : %f 截取後 : %.2f",f,f);
- NSLog(@"d : %e 截取後 : %.2e",d,d);
- NSLog(@"c : %c , %d",c ,c );
-
- //資料轉換
- //資料類型容量大的轉成小的可能會丟失精度
- int i2 = (int)f;
- float f2 = (float)i ;
-
- NSLog(@"資料轉換");
- NSLog(@"i2 : %d",i2);
- NSLog(@"f2 : %f",f2);
-
- NSLog(@"變數的範圍");
- if(YES){
- int i3 = 2;
- NSLog(@"i3 : %d",i3);
- }
- //在if的{}外面是無法訪問到內部的i3變數的,因為i3變數的範圍就只是那對{}內部
- //NSLog(@"i3 : %d",i3);
- /*
- 運行結果
- 2013-09-07 22:47:52.655 mxy01-dataType[859:303] i : 2
- 2013-09-07 22:47:52.667 mxy01-dataType[859:303] f : 2.300000 截取後 : 2.30
- 2013-09-07 22:47:52.672 mxy01-dataType[859:303] d : 2.300000e+12 截取後 : 2.30e+12
- 2013-09-07 22:47:52.674 mxy01-dataType[859:303] c : a , 97
- 2013-09-07 22:47:52.679 mxy01-dataType[859:303] 資料轉換
- 2013-09-07 22:47:52.682 mxy01-dataType[859:303] i2 : 2
- 2013-09-07 22:47:52.685 mxy01-dataType[859:303] f2 : 2.000000
- */
- }
- return 0;
- }
Objective-C 變數和基本的資料類型