关于 Objective-C 和 C 语言的一些事
Objective-C概述
1.Objective-C 简称为Obj-C/OC (下文为了省事,直接用OC代替)。诞生于20世纪80年代初期,由 Brad Cox 结合C语言和Smalltalk的优势而设计出来的。1995年,由乔布斯所在的NeXT公司获得OC的全部商业版权。1996年苹果公司收购了NeXT。OC成为Mac平台的主要开发语言(后来又有了Swift)。
2.OC语言是C语言的升级版,OC坏境中兼容C语言的一切语法,并在C语言 的基础上增加了一小部分的面向对象的语言。将C语言中的繁琐,复杂的语法封装为更简单的形式。
3.简单直接的说,OC语言就是面向对象的C语言。(C语言是面向过程)
OC的基本语法
1.OC中,支持一切的C语言的基本语法,并在C语言的基础上增加了一小部分的面向对象的语言。例如:NSString,NSNumber,NSInteger.....。
2.NS前缀的由来:NextStep ---->Cocoa ---->Foundation框架中。NS就是NextStep公司当初的语法缩写。
3.@符号:
- 将C语言的字符串转化为OC语言的字符串;
- OC中的绝大部分的关键字都是以@符号开头;
4.注释:注释和C语言的注释相同,分为单行注释和多行注释;
5.函数的定义和调用:和C语言的函数定义与调用相同;
6.OC中的数据类型:
- C语言中的所有数据类型:
- a.基本数据类型:int double float char
- b.构造类型:数组 结构体 枚举
- c.指针类型: int *p1
- d.空类型: void
- e.typedef自定义类型
- Bool/Boolean类型;
- class 类型,类;
- id类型;
- SEL 方法选择器;
- block 代码段;
7.OC的运算符:OC支持C语言中所有的运算符
- 赋值运算符:=
- 算术运算符:+ - * / %
- 复合赋值运算符:+= -= *= /=
- 自增与自减:++ --
- 关系运算符:> >=
- 逻辑运算符:&& || !
- 取地址运算符:&
- 指针访问运算符:*
- 位运算符 & | ^ ~
8.OC的控制语句:OC支持C语言中的所有控制语句
- if
- for
- while
- do-while
- 数组
- 指针
- 函数
9.OC的关键字:OC支持C语言中全部的关键字,并且运行效果相同
OC与C语言的对比
1>相同点:
1.main函数依旧是OC程序的入口和出口;
2.依旧有一个int类型的返回值,代表着程序生命周期的结束;
3.在函数的声明与调用,注释方面都是与C语言相同;
4.OC支持C语言中所有的运算符,控制语句,关键字
2>不同点:
1.OC语言相对于C语言而讲,在C语言的语法基础上新增了一小部分的的面向对象的语法;
2.OC语言将C语言的语法进行了封装,使其语言结构更加的简单;
3.OC程序的源文件后缀名的改变(OC程序的后缀名为.m)。m是Message的意思,同时也代表着一个OC中最重要的一个机制——消息机制;
4.在引入文件时,C语言使用的#include<*****>而OC使用的为#import<*****>:
- 以#开头的的都是一个预处理指令,将引用的文件内容在预编译的时候拷贝到指定地方;
- 一个文件中多次使用的#import<*****>指令时,程序底层会进行判断是否已经包含相同文件,如果没有包含会进行引用;如果包含将不会重复引用;