羽夏闲谈—— C 语言入门之问


前言

??最近加入了一个QQ频道,有很多想学C的纯小白。为什么这么说呢?因为他们会问一些环境用啥?为啥我配置不行?看了教程配置环境我也不会,咋配置?为啥这里代码这里有错误?啥语言好不好?诸如此类的问题。虽然对于熟练运用的我看到这些血压有点高,但我会针对这些现象提出几个问题,答案自行探索,虽然貌似对于编程没有啥帮助,但是这对于如果是纯小白的你来说就是一道很深的坎。由于我用的是Windows,所以主要针对的是该平台下的问题,其他的操作系统比如Linux请斟酌参考。注意,本篇的C语言C编程语言,请与我平常所说的C语言C/C++区分。

入门之问

  • 会用计算机吗?用不熟练就别学了。
  • 安装软件的实际流程是啥?它修改了什么?
  • 文件的本质是啥?
  • 你学习 C 的目的是啥?如果单纯想找个大厂工作赚取高工资,就别搞了,去卷 Java 和前端去。
  • 对于 Windows ,环境变量是什么?
  • 遇到问题,你会自己搜索甚至花费好几天来研究这个问题吗?你能做到自己写的代码错了自己仔细研究而不是立刻喊大佬救命吗?(当初自己是小白的时候对于这个认识不太深刻,当我自己有些积累的时候,突然发现,很多小白式的问题就不想回答了,所以你要珍惜热心回答你问题的网友,不要一出问题就找,消费他们的耐心)

入坑之问

  • 你认为 C 编程语言存在的目的是啥?
  • 语法的作用是什么?
  • 变量的本质是什么?指针的本质是什么?
  • 函数是什么?函数指针的本质是什么?
  • 虚拟地址是什么?什么是进程?什么是线程?
  • 什么是堆?什么是栈?
  • 为什么文字会有乱码这一说?
  • 为什么递归很可能会导致栈溢出?
  • 常见的数据结构比如链表、数组、结构体、二叉树,它们的本质是什么?
  • 什么是大端存储?什么是小端存储?
  • 什么是二进制文件?
  • 什么是缓冲区?
  • 你会调试吗?

结语

??对于我认为比较重要的问题我用加粗的形式,不要觉得文章的内容很不爽。编程是有门槛的,不要觉得自己学编程就能随便搞个月入过万。你学 C 感觉啥也不会,学完就忘,学了不理解,就说明至少上面加粗的问题,你没有解决,如果对于C++的话,我提的问题会更多。不要抱怨,我也是这么过来的。我没有任何现实的老师来指导我计算机的学习,互联网和兴趣就是我最好的老师。