美文网首页selector
OC 和 C 的关系

OC 和 C 的关系

作者: Sherlock_Jim | 来源:发表于2019-11-18 14:46 被阅读0次

1.OC相对于C做了什么事情? 

a.在C语言的基础上新增了一小部分面向对象的语法. 

b.将C语言复杂的、繁琐的、可恶的语法封装的更为简单.

c.OC完全兼容C语言,可以在OC中写C语言代码.

2.OC程序的源文件的后缀名是.m文件, m的意思是message,代表OC中最重要的机制消息机制,而C语言的源文件的后缀名是.c文件.

3.main函数依然还是程序的入口和出口. int 类型的返回值,代表程序的结束状态, 返回0代表程序结束. 

4.main函数的参数 : 仍然可以接受用户在运行程序的时候传递数据给程序,参数也可以不要.

5.#import指令:以#开头,说明它是预处理指令,它是#include指令的增强版,将文件的内容在预编译的时候拷贝到指定的地方.

增强在什么地方? 如果使用#include指令导入头文件要实现不重复包含的效果,必须要配合条件编译指令来实现.而使用#import指令导入头文件无论多少次,只会包含一次,#import指令在包含文件的时候,底层会先判断这个文件是否被包含,如果被包含就会略过,否则才会包含.

6.框架是一个功能集 苹果或者第三方事先一些功能封装好在一个一个的类或者函数中,这些函数和类的集合就叫做框架.

Foundation框架:这个框架中提供了一些最基础的功能,就比如 一些最常用的类、 数据类型、输入和输出 等等.

7.NSLog打印函数,它是printf的加强版.

8.OC中设计了1个更为好用的用来存储字符串的一个类型,NSString 字符串, 字符串前带@就是OC字符串,没有的话是C字符串.

9.OC中增加了很多由@符号开头的关键字.

10.OC程序的编译、连接、执行.

1).在.m文件中写上符合OC语法规范的源代码.

2).使用编译器将源代码编译为后缀名为.o的目标文件.

cc -c xx.m

a.预处理

b.检查语法

c.编译 

3).链接 

与C语言不同的是 在这里有一个注意点就是 如果程序中使用到了哪个框架中的的功能或者类,那么在链接的时候,就必须告诉编译器去哪一个框架中找这个功能或者类.

cc xx.o -framework框架名称. 

4).链接成功之后,就会生成一个a.out可执行文件.

11.OC中的数据类型. 

包括C语言中所有的数据类型

1).a.基本数据类型: int、double、float、char  b.构造类型:数组、结构体、枚举  c.指针类型:int*、char*  d.空类型void e.typedef自定义类型.

2).新增的类型 

a.BOOL类型存储YES NO .

b. Boolean类型存储ture false. 

两个其实是一个意思 ,目的是为了吸引其他语言开发人来开发OC程序,比如JAVA就有Boolean这个数据类型,C#里面就有BOOL这个类型. 

3).class类型.类

4). id类型.万能指针

5).nil与NULL

7).SEL方法选择器

8).block

12.OC支持C所有的运行符 、OC支持C所有的控制语句、OC支持C所有的关键字,并新增了一些关键字,OC新增的关键字绝大多数都是@符号开头,@interface @implement @public … 

函数的定义和调用也与C语言的完全一致.

相关文章

  • OC 和 C 的关系

    1.OC相对于C做了什么事情? a.在C语言的基础上新增了一小部分面向对象的语法. b.将C语言复杂的、繁琐的、可...

  • OC—面向对象

    1.OC: Object- C ,面向对象的语言 2、OC和C的区别 <1> oc是 c的超集 ,oc是在c语言的...

  • iOS 对象的内聚写法

    OC 写法 这种{()}的用法严格上讲和OC没什么太大的关系,这个是GNU C的对C的扩展语法 Xcode采用的C...

  • Objective-C概述

    OC概述 • Objective-C简称OC,OC是C语言的扩充,并且OC是iOS和OS X操作系统的编程语言...

  • 总结:八天学会OC语言(上)

    day1 OC语言day01-01OC的简介(附C语言知识点回顾)OC语言day01-02C和OC的对比OC语言d...

  • OC对象的本质

    OC和C_C++OC和C_C++ 一个NSObject对象占多少内存 也就是说person指针指向的这段内存空间,...

  • 零碎整点-1

    一、C和OC如何混用,C++与OC怎么混用?实现文件的拓展名.m改成.mm即可实现C文件与OC文件的混用。但是cp...

  • 问题:C和OC如何混用

    OC的编译器处理后缀为m的文件时,可以识别OC和C的代码,处理mm文件可以识别OC、C、C++代码,但cpp文件必...

  • 2019年年初iOS招人心得笔记 答案 (二)

    11、Objective-C与C、C++之间的联系和区别? OC OC是C的超集,扩展了C语言使它具备面向对象设计...

  • iOS-tips

    OC语言的面向对象特性是通过封装c和c++实现的,编译器会将OC编译为c和c++,再讲c编译为汇编语言,最终转成机...

网友评论

    本文标题:OC 和 C 的关系

    本文链接:https://www.haomeiwen.com/subject/kefbictx.html