• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

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

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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. }  

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
[Objective-C]关联(objc_setAssociatedObject、objc_getAssociatedObject、objc_remov ...发布时间:2022-07-12
下一篇:
详解Objective-Cruntime发布时间:2022-07-12
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap