OC第一个程序的解释

OC第一个程序的解释

这个大家可以当做复习资料吧,毕竟没有针对零基础, 如果你有特别好的C语言功底,并且熟悉了面向对象的思想,学起来OC肯定是很容易的!

  1. //C和OC语言的区别和联系:  
  2. /* 
  3.  区别: 
  4.  1、C语言的源文件后缀是.c  而OC语言的源文件后缀是.m 
  5.  2、C语言是面向过程的语言 而OC语言是面向对象的语言 
  6.  联系: 
  7.  OC语言是基于C语言的 所以完全兼容C语言的语法 
  8.  OC语言只是在C语言的基础上加上了最小的一层面向对象的语法  剔除复杂的面向对象语法 留下的都是精华 所以OC语言较C++语言的学习 容易很多 
  9.  */  
  10. #import <Foundation/Foundation.h>  
  11. //这么描述的意思是导入了Foundation框架中的Foundation.h这个声明文件  
  12. /* 
  13.  Foundation 是OC里最重要的一个框架(基础类库),里面封装了大量的类和方法以及结构体和函数、枚举 
  14.   
  15.  因为面向对象语言里的框架大都非常的大,所以一般框架都会把框架内所有的头文件放到一个头文件里,这个头文件称之为主头文件,这样在代码中把这个主头文件导入的时候,就相当于把框架内的所有头文件都导入了 
  16.   
  17.  #import "" 导入OC的头文件,导入系统自带的头文件用<>,导入自定义的头文件用"",编译器会自动判断该头文件是否重复包含 如果重复包含 多次引入 就不会执行 可以避免头文件的交叉编译 
  18.   
  19.  #include "" 导入的是C的头文件  头文件可能会出现交叉编译 所以需要在预处理阶段手动添加条件编译语句 #ifndef #define #endif 
  20.  */  
  21. int main(int argc, const charchar * argv[]) {  
  22.     //oc的main函数同样是入口函数,有且仅有一个main函数  
  23.     @autoreleasepool {//OC的关键字以@开头 防止跟C语言、C++关键字冲突(字符串也是@开头)  
  24.         /* 
  25.          自动释放池 释放对象内存  只能在一定程度上去帮助我们管理对象的释放,本身自动释放池也是一个对象,所以这个对象再使用完成后也是需要释放的 
  26.          首先,我们要把我们需要自动释放池管理的对象入池,当自动释放池对象释放的时候,会对所有池内的对象进行释放 
  27.          */  
  28.           
  29.         NSLog(@"Hello, %@",@"my readers!");//NSLog是OC中的打印输出函数,同样支持格式输出。  
  30.         printf("Hello,%s\n","my readers!");  
  31.         /* 
  32.          @"Hello, my readers!";  字符串对象 是有属性和行为的 
  33.          "Hello, my readers!";   C字符串  是一个基本数据类型 没有属性没有行为 
  34.          %s 打印的是C的字符串 
  35.          %@ 打印的时OC的字符串对象 
  36.           
  37.          NS 是NEXTSTEP的缩写(OC系统函数、系统类的前缀,所以我们设计类应该尽量避免使用NS打头) 
  38.          */  
  39.         /* 
  40.          NSLog和printf的区别 
  41.          1、NSLog会为打印输出的内容添加时间戳 
  42.          2、NSLog会自动换行 而printf打印输出语句必须添加转义字符\n进行换行 
  43.          */  
  44.           
  45.     }// 这个括号的位置,就是自动释放池销毁的地方  
  46.     return 0;  
  47. }  


怎么样,对OC有个大概的认识了吧,之后会介绍更多的内容,方便大家学习。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值