黑马程序员——OC语言基本语法知识(四)

时间:2023-02-18 20:57:17

OC也叫面向对象c,在c语言的基础上增加了一层最小的面向对象语法
特点:


 1、完全兼容C语言


 2、可以在OC代码中混入C语言代码,甚至是C++代码,不是任何源文件代码都能写c++代码,要把拓展名改一改才可以写


 3、可以在OC开发 Mac OS X平台和IOS平台的应用程序


 4、.c只能写C语言代码,.m能写OC代码,也能写C语言代码,要写C++代码就要写.MM

 

 OC语法预览


 1.关键字


 基本上所有关键字都是以@开头,少部分不是以@开头


 2.字符串以@开头


 比如@"HELLO"是OC字符串,"HELLO"是C语言字符串,用的最多的是OC字符串


 3.其他语法


 在C语言的基础上增加一个BOOL类型两个取值,一个是YES一个是NO
 
 C语言中:


 p = NULL NULL就是0


 OC中:


 nil相当于C语言中的NULL,也就是0
 
 屏幕输出


 NSlog(@"HELLO");
 
 编译: 把代码编译成0跟1


 链接:是把项目中相关联的.o目标文件跟C语言函数库合并在一起生成可执行文件
 
 OC程序开发


1、 .m文件 ->.o文件->可执行文件


2、OC程序的入口也是main函数,跟C语言一样的

一、#import的用途


1> 跟#include一样,拷贝文件的内容


2> 可以自动防止文件的内容被重复拷贝

二、#import


NSObjCRuntime.h中有NSLog函数的声明

 

三、主头文件


1> 主头文件:最主要的头文件,名字一般跟框架名称一样,包含了框架中的所有其他头文件


2> Foundation框架的主头文件名称就是Foundation.h


3> 只需要包含Foundation框架主头文件,就可以使用整个框架的东西


4> OC只能学Foundation框架,每一个框架有有字节的主头文件,最主要的文件,每个主头文件都跟名字一样

总结
一、运行过程
1> 编写OC源文件:.m、.c
2> 编译 cc-c xxx.m xxx.c
3> 链接 :cc xxx.o xxx.o -framework Foundation
(只有用到了Foundation框架才需要加上-framework Foundation)
4> 运行:./a.out
OC是完全兼容C语言的

二、BOOL完全可以看做是整型
1> 只能写大写
2> YES就是1,NO就是0

三、BOOL类型的本质
1、比如:typedef signed char BOOL;  BOOL 其实就是char
2、BOOL类型的变量值有两种取值:YES、NO输出用%d
3、(BOOL)1是强转,把BOOL类型转成了1
#define YES (BOOL)1 把代码中所有YES都换成了1
#define NO (BOOL)0把代码中的所有NO都换成了0
4、输出验证
NSLog(@"%d,%d",YES,NO);