1.如果要用C语言的字符串输出,就要用C的字符串来告诉系统;同理,OC也是如此,系统可以通过“@”来进行区分
2.在使用函数(方法)之前,需要给出声明(即引入头文件)
3.import 和 include的功能一样,是将右边的文件"拷贝"到当前import所在的源文件。既然这两个“预处理指令”功能一样,为什么OC要给出一个新的“预处理指令”呢?为了降低程序员的负担(重复书写头文件卫士),所以OC给出了一个新的预处理指令。import的优点是:自动防止重复导入头文件。
4.printf和NSLog的区别:
1)printf为函数,NSLog为方法
2)NSLog会自动换行,printf需要使用“\n”来实现换行
3)NSLog输出内容时会附加一些系统信息
4)printf和NSLog接收的参数不同,前者是C的字符串,后者是OC的字符串。
printf("c hello world");
NSLog(@"c hello world");
5.
(1)#include <stdio.h>与#import <Foundation/Foundation.h>的区别:C语言中只有一个工具箱;OC中有多个工具箱,每个工具箱又有许多工具,所以造成了C和OC头文件的这种不同的形式。
(2)Foundation.h是主头文件,主头文件中又拷贝了该工具箱中所有工具的头文件(A拷贝B,B拷贝C,C拷贝D,利用了拷贝的传递性),所以我们只需要导入(本质就是拷贝)主头文件就可以使用该工具箱中所有的工具,避免了每次使用一个工具时都得导入相应工具的头文件,提高了开发效率。
(3)工具箱的地址:kuanshen$ /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks
规律:所有的主头文件的名称都和工具箱的名称一致
所有的主头文件中都是导入了该工具箱中所有工具的头文件
6.因为OC完全兼容C,所以可以在OC程序中编写C语言代码, 并且可以将C和OC的源文件组合在一起,生成可执行文件。