您的位置:首页 > 移动开发 > IOS开发

IOS 学习第二天

2014-10-21 10:25 155 查看
Object-c提供基本数据类型:int
、float
、double
、char

Int:

八进制 整型第一位为 0,
NSLog
的格式符为:
%o
显示的八进制不带前导
0

十六进制 以
0x
开头的整型,NSLog
的格式符为:若(%X
或%#X) 显示的十六进制用大写

%#o
显示的八进制带前导0

%x 显示的十六进制不带前导
0x

%#x
显示的十六进制带前导0x

Float:

NSLog
的格式符:%f

NSLog 的格式符:%e
科学计数法显示值

NSLog
的格式符:%g
指数的值小于-4
大于
5,采用%e,否则采用%f

十六进制的浮点常量包含前导
0x

0X,后面紧跟一个或多个十进制或十六进制数字,再后是p

P,最后是可以带符号的二进制指数。例:0x0.3p10
表示的值为
3/16*

注:若无特殊说明,Object-c
将所有的浮点常量看做
double
值,要显示
double
值可使用和
float

一样的格式符。

Char:

NSLog
的格式符:%c

long double 常量写成尾部带有字母
l
或者
L
的浮点常量。1.234e+7L

注:id
类型可以通过类型转化符可以将一般的id
类型的对象转换成特定的对象。

_Bool_Complex_Imaginary

键盘输入:

处理
Boolean(即
0

1)处理复数

处理抽象数字

int number;scanf("%i",&number);

实例变量的初始化值默认为
0实例变量作用域的指令:

@protected 变量可被该类及任何子类中定义的方法直接访问(默认的情况) 。

@private 实例变量可被定义在该类的方法直接访问,不能被子类定义的方法直接访问。

@public 变量可被该类中定义的方法直接访问,也可被其他类或模块中定义的方法访问。使得其他方法或函数可以通过(->)来访问实例变量(不推荐用)


@package
64
位图像,可以在实现该类的图像的任何地方访问这个实例变量。

在类中定义静态变量和
C
一样

voaltile说明符和const
正好相反,明确告诉编译器,指定类型变量的值会改变。(I/O端口)比如要将输出端口的地址存储在
outPort
的变量中。

volatile char *outPort;

*outPort = 'O';

*outPort = 'N';

这样就可以避免编译器将第一个赋值语句从程序中删除

枚举数据类型、typedef
语法以及数据类型的转换和
C
也是一样。

注:就像大家更熟悉的const一样,volatile是一个类型修饰符(type
specifier)。

它是被设计用来修饰被不同线程访问和修改的变量。如果没有volatile,基本上会导致这样的结果:要么无法编写多线程程序,要么编译器失去大量优化的机会。

一般说来,volatile用在如下的几个地方:(参考百度百科)

1、中断服务程序中修改的供其它程序检测的变量需要加volatile;

2、多任务环境下各任务间共享的标志应该加volatile;

3、存储器映射的硬件寄存器通常也要加volatile说明,因为每次对它的读写都可能有不同意义;

另外,以上这几种情况经常还要同时考虑数据的完整性(相互关联的几个标志读了一半被打断了重写),在1中可以通过关中断来实现,2 中可以禁止任务调度,3中则只能依靠硬件的良好设计了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: