代码之家  ›  专栏  ›  技术社区  ›  Justin

从C语言背景学习C语言#

c
  •  9
  • Justin  · 技术社区  · 14 年前

    我想拓宽我的编程经验,所以我认为学习C(不是C++)是个好主意——我有一个开始项目(一些简单的2D游戏) SDL )尝试一下,但我必须承认我在挣扎。

    现在我认为自己是一个非常有能力的C#开发人员,但C只是一个完全不同的世界!

    • 没有名称空间。
    • 没有类,我不知道如何构造代码。
    • 理解
    • 失去(例如) String

    除此之外,我发现将C++信息与C信息分开是很困难的(例如SNPrTNF是C++的唯一东西吗?)

    这听起来可能有点奇怪,但是如果你有学习其他语言的经验,是否有学习C语言的好指南?

    5 回复  |  直到 14 年前
        1
  •  4
  •   Steve Rowe    14 年前

    不要试图从C++书籍/网站中学习C。从只针对C的东西开始。一个好地方是 The C Programming Language

    学习C语言将是一场斗争,因为它是另一种语言。它是一种程序语言,不是面向对象的语言。在学习它的过程中伸展你的大脑是很好的。你可能还会学到更多关于操作系统工作方式的知识,因为它离金属更近了。

        2
  •  1
  •   salezica    14 年前

    我建议你从一本关于C的书开始。与前一本相比,学习一门新语言不是一个好主意,你最终会学到不同的东西,而不是新的和独特的东西。

    编辑 :我的一个朋友建议您在掌握了该语言之后,还可以在数据结构和算法上找到一些东西,因为您将在一个没有对象的环境中工作。

    希望有帮助!

        3
  •  0
  •   Alexander Rafferty    14 年前

    我会回答你的问题,但首先:从C到C就像从塑料牙刷到木制牙刷。。。我看不出有什么好处。

    命名空间——不,C中没有任何。这是一个C++/C语言特性。你应该可以用前缀来补偿。(命名空间。

    至于上课,我不知道怎么帮你。我是C++程序员(不是C),但是C确实有Strut,虽然我不知道你是否可以拥有成员函数。

    头文件和include在语法上是相同的。例如:

    #include <Windows.h>
    

    提供windows功能。注意,对于许多头文件(如openGL),可能需要在库中链接。

    没有绳子我们怎么办?你可以自己做,也可以用memcpy等C函数手动管理C字符串(char*)。。。

    再见,祝你好运!

        4
  •  0
  •   KSchmidt    14 年前

    C++是C的超集,所以在C中你可以做任何事情,你可以在C++中完成。

    我认为学习C语言是个好主意,它会让你不得不处理内存和资源管理、结构化编程和面向对象的问题,它还有一个更小的标准库(与C语言相比)。