关于 Objective-C 和 C 语言的一些事

image.png

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<*****>指令时,程序底层会进行判断是否已经包含相同文件,如果没有包含会进行引用;如果包含将不会重复引用;

你可能感兴趣的:(关于 Objective-C 和 C 语言的一些事)