1. C的源文件后缀是.c,OC的源文件后缀.m,在.m的源文件中可以任意写OC代码、C代码、C++代码。
2. 与C语言一样,main函数同样是OC代码的进口以及出口,返回值和参数均与C语言一样。
3. #import指令 在OC中的地位相当于#include指令在C中的地位,不过有一点区别是,#import指令可以避免同一个文件被多次包含,而#include指令就不具备这个功能。
4. OC中的框架相当于C中的函数库,调用后就可以使用里面的功能。
5. @autoreleasepool是一个释放池。
6. NSLog函数相当于C中的printf函数,NSLog函数具备printf函数的功能,且可以自动换行。同时需要注意的是NSLog函数在输出字符串的前面必须得加一个@,否则会报错。
7. NSString函数是在OC中用来存储字符串的函数,它是相比于C中新增加的变量类型,其定义的方法是NSString *_变量名 = 数据;它的格式控制符是%@。
8. OC源文件的编译、链接、执行和C源文件差不多,只是OC在编译中如果用到框架,就要声明出指定的框架,方法是 cc main.o framewoke 框架名。
9. OC的数据类型
1) OC中支持C中所有的数据类型
2) OC在C的基础上新增了一些数据类型
a. BOOL类型,只能存储YES和NO当中的任意一个数据,但是输出只能以整型输出,YES代表1,NO代表0。
b. Boolean类型,只能存储true和false当中的任意一个数据,但是输出只能以整型输出,true代表1,false代表0。(其实我感觉Boolean是多余的,已经有BOOL类型了,而且具备一样的功能)
c. id类型,万能指针,哪个变量都可以指。
d. class(类)。
e. SEL 方法包装器。
f. nill,如果OC中的指针不指向任何变量,那么这个指针的初始值就可以赋值nill,nill也表示0,与C中的NUL一样,只是OC的指针最好用nill,C的指针最好用NUL。
g. block代码块。
10. OC支持C中的所有运算符,没有新增。OC完全支持C中的所有控制语句, 且函数的定义和调用也是一样的。
11. OC支持C中所有的关键字,并且还新增了一些关键字,大部分是以@开头的。