“Hello, world" 粗略比较 C语言和Objective-C的区别

C语言,不用过多赘诉,基本上是入门必修。1972年创建至今已经发展了四十余年之久,深刻影响了后来的很多编程语言,包括Objective-C。

而对Objective-C的描述也是“C的超集”,因此在mac上的Xcode也可以编译C的程序。

以经典语句“Hello,world!”为例。

C语言的写法是:

# include 
int main(void)
  {
  printf("hello, world!\n");
  return 0;
  }

Objective-C的写法是:

#import 
 
int main(int argc, char *argv[]) 
{
    @autoreleasepool 
    {
        NSLog(@"Hello World!");
    }
   return 0;
}

从以上两例中不难看出两种编程语言其中差别。

C语言声明调用的是标准输入输出库。

Objective-C是调用的框架。这里的框架是指由许多类、方法、函数、文档按一定逻辑组合起来的集合,以便于开发。

main函数中“int argc, char* argv[]”,用法和C语言同样,从这里可以看出为什么说Objective-C是C的严格母集合,C语言的编译在Objective-C上是合法的。

和C略为不同的是

@autoreleasepool

这行代码,字面意思上是自动释放池,也引入了Objective-C的一个重要概念,内存的调用和管理。

接下来

NSLog相当于C语言中的printf,@编译器,告诉他,将字符串当做NSString类型处理。NSString是Objective-c的一个对象。@+ " 字符串 " 是Objective-C字符串常量的标准写法。

Objective-C原意即是C的语言主体上加入面向对象的特征。




 
  

你可能感兴趣的:(学习笔记)