ObjC基础--数据类型


ObjC提供的基本的数据类型有:int、float、double、char.

Int:
八进制 整型第一位为0,NSLog的格式为:%o 显示的八进制不带前导0
%#o 显示的八进制带前导0
十六进制 以0x开头的整型,NSLog的格式为:%x 显示的十六进制不带前导0x
%#x 显示的十六进制带前导0x
若%X或%#X 显示的十六进制用大写

Float:
NSLog的格式:%f
NSLog的格式:%e 科学计数法显示值
NSLog的格式:%g 指数的值小于-4大于5,采用%e,否则采用%f

char:
NSLog的格式符:%c
long doble 常量写成尾部带有字母l或者L的浮点常量。1.234e+7L

ObjC基础--数据类型

_Bool 处理Boolean类型(即0或者1)
_Complex 处理复数
_Imaginary 处理抽象数字

键盘输入和C相同:
int number;
scanf("%i",&number);

实例变量的初始化默认值为0。
实例变量作用域的指令:
@protected 实例变量可被该类及任何子类中定义的方法直接访问(默认的情况)。
@private 实例变量可被定义在该类的方法直接访问,不能被子类定义的方法直接访问。
@public 实例变量可被该类中定义的方法直接访问,也可被其他类中或者模块中定义的方法访问。使得其他方法或者函数可以通过 -> 来访问该实例变量
@package 对于64位图像,可以在实现该类的图像的任何地方访问该实例变量。


在类中定义静态变量和C一样。
volatile 说明符和const说明符正好相反,明确告诉编译器,指定类型变量的值会改变。(I/O端口)
比如要将输出端口的地址存储在outPort的变量中:
volatile char *outPort;
*outPort = '0';
*outPort = 'N';
这样就可以避免编译器将第一个赋值语句从程序中删除。

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