c - 从 C# 的背景学习 C

标签 c

我想拓宽我的编程经验,因此认为学习 C(而不是 C++)是个好主意 - 我有一个开始项目(一些使用 SDL 的简单 2D 游戏)并试一试,但是我不得不承认我在挣扎。

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

  • 没有命名空间。
  • 没有类,我不知道如何构建我的代码。
  • 理解头文件和包含,但我对它们的使用似乎不太正确。
  • 丢失(例如)String 类有点文化冲击。

最重要的是,我发现从 C 信息中分离出 C++ 信息很棘手(例如,snprintf 是 C++ 唯一的东西吗?)

这听起来像是一个奇怪的要求,但如果您有其他语言的经验,是否有任何好的学习 C 的指南?

最佳答案

不要试图从 C++ 书籍/网站学习 C。从仅针对 C 的内容开始。一个好地方是 The C Programming Language .它是原创的,并且仍然是最好的编程语言书籍之一。

学习 C 将是一场斗争,因为它是一种不同的语言。它是一种过程语言,而不是面向对象的语言。在学习它的过程中拉伸(stretch)你的大脑会很好。您可能还会更多地了解您的操作系统的工作方式,因为它更接近金属。

另请注意,它是一种简单得多的语言,因此缺少现代语言的许多优点。没有 BCL/.Net 框架。如您所见,没有字符串类(尽管有字符串函数)。

关于c - 从 C# 的背景学习 C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4002442/

相关文章:

在 Linux 中使用命令行编译 F# 程序

c++ - Switch case 在 Turbo C 编译器中不起作用

c - 函数类似于 C 中的宏

c - c库函数如何存放在内存中?

java - 在 Java 中使用 SWIG 类型映射

使用链表和文件操作创建电话簿

c - SDL2 窗口大小比应有的大

c - 为什么这不编译?

c - access 总是返回 -1,即使文件存在

c - 如何复制给定字符串中所有不重复的单词?