[学习笔记—Objective-C]《Objective-C 程序设计 第6版》第十章 变量和数据类型
程序员文章站
2022-03-24 23:11:22
part 1. 实例变量和属性
目前的趋势是使用(_)作为实例变量名字的起始字符。 在实现部分显式声明实例变量是私有的
因此不能在子类中通过名字直接获取到实例变量的值。 在子类中只能通过继承的存取方...
part 1. 实例变量和属性
目前的趋势是使用(_)作为实例变量名字的起始字符。 在实现部分显式声明实例变量是私有的因此不能在子类中通过名字直接获取到实例变量的值。 在子类中只能通过继承的存取方法获取实例变量的值。 不必用
@synthesize
指令生成存取方法,只要在属性中声明即可。
part 2. 全局变量
小写的g作为全局变量的首字母:int gmovenumber = 1;
,也是外部变量。 外部变量:被其他任何方法或函数访问和更改值的变量 访问:加上关键字extern
:extern int gmovenumber;
加上
extern
是对变量的声明,而不是定义。声明不会引起变量存储空间分配,而定义会。 如果很多方法访问全局变量,那么在文件开始进行一次extern
只有少数访问的话,最好在每个方法内部单独进行extern
声明
part 3. 静态变量
定义成全局变量,但不是外部变量:除了特定类中的方法之外,再没有其他方法需要访问这个特定的变量:static int gglobalvar = 0;
:位于这条语句之后的方法或函数都可以访问gglobalvar的值,而其他文件中的方法和函数都不行。
part 4. 枚举数据类型
枚举类型:提供了一种方法,能将整数值和有象征意义的名称对应起来。若需要更改这个整数的值,只能在定义枚举的地方改。 例子:
enum direction {up, down, left = 10, right};
元素序列的增加,整数值+1,以此类推。
part 5. typedef语句
typedef:改变数据类型的名称
typedef int counter; counter j,n;增加了变量定义的可读性,清晰地看出这些变量在程序中的使用目的。
part 6. 数据类型转换
不同类型的数据类型运算:
如果其中一个操作数是long double
,double
,float
型,结果也是long double
,double
,float
型。 如果其中一个操作数是bool,char,short int, bit field或枚举类型,则全部转换为int型。 如果其中一个操作数是long long int
, long int
型,另一个操作数转换为long long int
, long int
型,则结果也是long long int
, long int
型。 两个操作数均为int
型,则结果也是int
型。