羽夏闲谈—— C 语言入门之问
前言
??最近加入了一个QQ
频道,有很多想学C
的纯小白。为什么这么说呢?因为他们会问一些环境用啥?为啥我配置不行?看了教程配置环境我也不会,咋配置?为啥这里代码这里有错误?啥语言好不好?诸如此类的问题。虽然对于熟练运用的我看到这些血压有点高,但我会针对这些现象提出几个问题,答案自行探索,虽然貌似对于编程没有啥帮助,但是这对于如果是纯小白的你来说就是一道很深的坎。由于我用的是Windows
,所以主要针对的是该平台下的问题,其他的操作系统比如Linux
请斟酌参考。注意,本篇的C语言
指C
编程语言,请与我平常所说的C语言
是C/C++
区分。
入门之问
- 你会用计算机吗?用不熟练就别学了。
- 安装软件的实际流程是啥?它修改了什么?
- 文件的本质是啥?
- 你学习 C 的目的是啥?如果单纯想找个大厂工作赚取高工资,就别搞了,去卷 Java 和前端去。
- 对于 Windows ,环境变量是什么?
- 遇到问题,你会自己搜索甚至花费好几天来研究这个问题吗?你能做到自己写的代码错了自己仔细研究而不是立刻喊大佬救命吗?(当初自己是小白的时候对于这个认识不太深刻,当我自己有些积累的时候,突然发现,很多小白式的问题就不想回答了,所以你要珍惜热心回答你问题的网友,不要一出问题就找,消费他们的耐心)
入坑之问
- 你认为 C 编程语言存在的目的是啥?
- 语法的作用是什么?
- 变量的本质是什么?指针的本质是什么?
- 函数是什么?函数指针的本质是什么?
- 虚拟地址是什么?什么是进程?什么是线程?
- 什么是堆?什么是栈?
- 为什么文字会有乱码这一说?
- 为什么递归很可能会导致栈溢出?
- 常见的数据结构比如链表、数组、结构体、二叉树,它们的本质是什么?
- 什么是大端存储?什么是小端存储?
- 什么是二进制文件?
- 什么是缓冲区?
- 你会调试吗?
结语
??对于我认为比较重要的问题我用加粗的形式,不要觉得文章的内容很不爽。编程是有门槛的,不要觉得自己学编程就能随便搞个月入过万。你学 C 感觉啥也不会,学完就忘,学了不理解,就说明至少上面加粗的问题,你没有解决,如果对于C++
的话,我提的问题会更多。不要抱怨,我也是这么过来的。我没有任何现实的老师来指导我计算机的学习,互联网和兴趣就是我最好的老师。