/*
1. OC程序的编译.
它的编译、连接、执行和C程序是相差无几的.
1). 在.m文件中写上符合OC语法规范的源代码.
2). 使用 cc -c 指令来编译我们的文件.
a. 预处理.
b. 检查语法
c. 生成.o的目标文件.
3). 链接
cc xx.o
a. 添加启动代码.
b. 链接函数. 将要调用的函数的实现拷贝进来
在代码中如果使用到了框架中的功能 就必须要指定系统到那1个框架中去找.
cc main.o -framework Foundation
4). 链接完毕之后 会生成1个a.out可以执行文件 一样可以执行.
2. OC程序各个阶段的后缀名.
C OC
源文件 .c .m
目标文件 .o .o
可执行文件 .out .out
3. OC的数据类型.
1). OC支持C语言中的所有的数据类型.
基本数据类型: int float double char
构造类型: 数组 结构体 枚举
指针:
void
typedef 定义类型.
2). OC在此基础之上新增了一些数据类型.
a. BOOL类型. 可以存储YES和NO 之中的任意1个数据.
一般情况下,使用它来保存1个条件表达式的结果.
YES代表条件成立 NO代表条件不成立.
BOOL的本质: 是1个有符号的char变量. YES实际上1 NO实际上是0.
输出的话.只能以整型输出.
b. Boolean类型. 可以存储true或者false
代表1个条件的真假. 用来保存1个条件表达式的结果.
本质: 无符号的char变量.
true 1
flase 0.
c. id类型. 万能指针. 谁都可以指.
d. class 类.
e. SEL 方法包装器.
f. nil 与 NULL 差不多.
g. block 代码块.
4. OC支持C语言中的所有的运算符.没有新增.
赋值运算符. =
算术运算符 + - * / %
复合赋值运算符 +=
自增自减 ++ --
关系运算符 > >= .....
逻辑运算符 && || !
取地址运算符 &
*
........
5. 控制语句.
OC支持C的所有的控制语句.
if
switch-case
while
do-while
for
数组
指针
函数
.......
全部都被OC支持
6. OC支持C的所有的关键字. 并且效果一直.
OC还新增了一些关键字. OC新增的关键字绝大部分以@开头.
7. 函数定义和调研 一样.
OC是完全兼容C语言. 在OC中可以写任意的C代码 并且效果和C的一样.