Objective-C 变量和基本的数据类型

Posted 子非余安知余子非

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Objective-C 变量和基本的数据类型相关的知识,希望对你有一定的参考价值。

OC是增强了C的特性,所以在变量和基本数据类型上基本与C一致。

在OC中变量命名有如下规则:

由字母、数字、下划线、$符号组成

必须以字母、下划线、$符号开头

大小写敏感

在OC中定义变量的时候不能使用OC的保留字,OC的保留字如下:

 

 

 

OC中有如下基本数据类型:

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

 

  1. //  
  2. //  main.m  
  3. //  mxy01-dataType  
  4. //  
  5. //  Created by mxy on 13-9-7.  
  6. //  Copyright (c) 2013年 mxy. All rights reserved.  
  7. //  
  8.   
  9. #import <Foundation/Foundation.h>  
  10.   
  11. int main(int argc, const char * argv[])  
  12. {  
  13.   
  14.     @autoreleasepool {  
  15.           
  16.         //保留字是不能定义为变量名的,例如下面的int、float等就不能作为变量名  
  17.         int i = 2;  
  18.         float f = 2.3f;  
  19.         double d = 2.3e12;  
  20.         char c = \'a\';  
  21.           
  22.         //输出数据  
  23.         NSLog(@"i : %d",i);  
  24.         NSLog(@"f : %f 截取后 : %.2f",f,f);  
  25.         NSLog(@"d : %e 截取后 : %.2e",d,d);  
  26.         NSLog(@"c : %c , %d",c ,c );  
  27.           
  28.         //数据转换  
  29.         //数据类型容量大的转成小的可能会丢失精度  
  30.         int i2 = (int)f;  
  31.         float f2 = (float)i ;  
  32.           
  33.         NSLog(@"数据转换");  
  34.         NSLog(@"i2 : %d",i2);  
  35.         NSLog(@"f2 : %f",f2);  
  36.           
  37.         NSLog(@"变量的作用域");  
  38.         if(YES){  
  39.             int i3 = 2;  
  40.              NSLog(@"i3 : %d",i3);  
  41.         }  
  42.         //在if的{}外面是无法访问到内部的i3变量的,因为i3变量的作用域就只是那对{}内部  
  43.         //NSLog(@"i3 : %d",i3);  
  44.         /*  
  45.          运行结果  
  46.          2013-09-07 22:47:52.655 mxy01-dataType[859:303] i : 2  
  47.          2013-09-07 22:47:52.667 mxy01-dataType[859:303] f : 2.300000 截取后 : 2.30  
  48.          2013-09-07 22:47:52.672 mxy01-dataType[859:303] d : 2.300000e+12 截取后 : 2.30e+12  
  49.          2013-09-07 22:47:52.674 mxy01-dataType[859:303] c : a , 97  
  50.          2013-09-07 22:47:52.679 mxy01-dataType[859:303] 数据转换  
  51.          2013-09-07 22:47:52.682 mxy01-dataType[859:303] i2 : 2  
  52.          2013-09-07 22:47:52.685 mxy01-dataType[859:303] f2 : 2.000000  
  53.          */  
  54.     }  
  55.     return 0;  
  56. }  

 

以上是关于Objective-C 变量和基本的数据类型的主要内容,如果未能解决你的问题,请参考以下文章

Java var定义基本数据类型变量实际类型问题(原始类型或包装类)

Objective-C中的内存管理及MRC

Objective-C中的内存管理及MRC

Objective-c 基本数据类型

基本数据类型,包装类型,String类型数据之间的转换

Java8增强的包装类