首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为Objective-C学习C

为Objective-C学习C
EN

Stack Overflow用户
提问于 2012-06-02 08:18:25
回答 2查看 569关注 0票数 10

我对Objective-C比较精通,但我一直在研究一些框架和库,我将来可能会用到,而且我越来越多地看到C的使用。到目前为止,我写的唯一应用程序只包含Objective-C。我知道Objective-C是C的超集,但当我说我只用Objective-C编写时,我的意思是我只使用了Objective-C方法和Objective-C的语法,这与C语法截然不同。我一直在研究与C和Objective-C之间的关系相关的问题(参见下面的链接),我想开始学习C,但显然有三种类型的C (K&R,C89和C99),我想知道我应该学习哪种类型来帮助我使用Objective-C。我知道在学习Objective-C的过程中,我也在不知不觉中学会了C,但我想更多地了解C的细节,熟悉它的函数、语法、特性等。另外,Objective-C是基于这三种C语言中的任何一种吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-02 08:24:37

甚至还有更多的C类型。同时定义了C0X和C11……它们都只比它们的前辈在进化上迈出了很小的一步,所以你不必太担心。Objective-C是基于C99的(实际上是减去浮点编译指示),所以现在这可能是最合适的。

从你的问题中不能完全清楚,但你确实注意到C的那些变体只是从不同的年份演变而来的规范?大约1978年的K&R,1989年的C89,1999年的C99等等。Objective-C被设计为C的严格超集,因此您可能会期望Objective-C有一天会合并C11特性。

(注意:多次编辑以包括评论中的信息)

票数 5
EN

Stack Overflow用户

发布于 2012-06-02 08:22:57

我建议你看一些关于C语言的入门文章,并学习这些文章教给你的任何C方言。这可能是C89或C99。

K&R C缺少现代功能,如“原型”(声明函数的参数数量和类型)。C89添加了所有这些内容。

C99主要具有在特定领域中有用的小增量功能。您需要学习的大部分内容在C89和C99中应该是相同的。有趣的事实:微软从来没有费心去实现C99。

实际上,我会建议一个特定的介绍性文本:使用K&R的第二版。这基本上将K&R更新到C89。“K&R”是一本优秀的书,也是学习C语言的绝佳选择。

https://stackoverflow.com/questions/1646667/kr-1st-edition-vs-2nd-edition

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10858820

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档