
程序人生:学习编程的你想快速把知识内化为能力,只需这 4 步!
曾经一位开发者通过在行约我聊找工作的事情,他提到一个很典型的现象: 自己对很多编程方面的知识都有了解,比如设计模式、多线程等,看书时都知道怎么回事儿,可面试时别人问到它们怎么用,却说不上来。而且,在实际编写代码时,也想不到要用它们,始终没用起来。 这其实是知识的内化问题:怎样把书本上的知识,内化为自己的能力,让自己遇到合适的场景不假思索就能用起来,始终是个问题。 我特意回顾了自己学习编程的经验,认真思考了这个问题,找到一个将知识内化为能力的实践规律,分享给大家。 有这么4个步骤: (1)记住知识点,尤其是它的适用场景、可以解决什么问题、能带来什么价值。 比如设计模式中的工厂模式,你就要知道,它是用来解决对象创建问题的,能够把散布在代码中的对象创建代码收归一处,方便对象类别的新增、修改、扩展,也方便具体对象的创建,最终可以构建出耦合度更低的代码。 (2)带着知识点,观察别人怎么用它。 比如你可以带着抽象工厂模式,到你的工作代码中、到开源项目中、到知名开发框架中去找它们的影子,看看别人怎么用的。 (3)有意识地去找或者创造可以使用知识点的典型场景,有意识地去用。 哪怕用得很生硬,也要...

程序人生:学习编程的你想快速把知识内化为能力,只需这 4 步!
曾经一位开发者通过在行约我聊找工作的事情,他提到一个很典型的现象: 自己对很多编程方面的知识都有了解,比如设计模式、多线程等,看书时都知道怎么回事儿,可面试时别人问到它们怎么用,却说不上来。而且,在实际编写代码时,也想不到要用它们,始终没用起来。 这其实是知识的内化问题:怎样把书本上的知识,内化为自己的能力,让自己遇到合适的场景不假思索就能用起来,始终是个问题。 我特意回顾了自己学习编程的经验,认真思考了这个问题,找到一个将知识内化为能力的实践规律,分享给大家。 有这么4个步骤: (1)记住知识点,尤其是它的适用场景、可以解决什么问题、能带来什么价值。 比如设计模式中的工厂模式,你就要知道,它是用来解决对象创建问题的,能够把散布在代码中的对象创建代码收归一处,方便对象类别的新增、修改、扩展,也方便具体对象的创建,最终可以构建出耦合度更低的代码。 (2)带着知识点,观察别人怎么用它。 比如你可以带着抽象工厂模式,到你的工作代码中、到开源项目中、到知名开发框架中去找它们的影子,看看别人怎么用的。 (3)有意识地去找或者创造可以使用知识点的典型场景,有意识地去用。 哪怕用得很生硬,也要...

对C语言指针的总结
作者:C语言教程 链接:https://zhuanlan.zhihu.com/p/146364705 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 (Pointer)就是内存的地址,C语言允许用一个变量来存放指针,这种变量称为指针变量。指针变量可以存放基本类型数据的地址,也可以存放数组、函数以及其他指针变量的地址。 程序在运行过程中需要的是数据和指令的地址,变量名、函数名、字符串名和数组名在本质上是一样的,它们都是地址的助记符:在编写代码的过程中,我们认为变量名表示的是数据本身,而函数名、字符串名和数组名表示的是代码块或数据块的首地址;程序被编译和链接后,这些名字都会消失,取而代之的是它们对应的地址指针变量可以进行加减运算,例如p++、p+i、p-=i。指针变量的加减运算并不是简单的加上或减去一个整数,而是跟指针指向的数据类型有关。给指针变量赋值时,要将一份数据的地址赋给它,不能直接赋给一个整数,例如int *p = 1000;是没有意义的,使用过程中一般会导致程序崩溃。使用指针变量之前一定要初始化,否则就不能确定指针指向哪里,如果它指向的内存...

对C语言指针的总结
作者:C语言教程 链接:https://zhuanlan.zhihu.com/p/146364705 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 (Pointer)就是内存的地址,C语言允许用一个变量来存放指针,这种变量称为指针变量。指针变量可以存放基本类型数据的地址,也可以存放数组、函数以及其他指针变量的地址。 程序在运行过程中需要的是数据和指令的地址,变量名、函数名、字符串名和数组名在本质上是一样的,它们都是地址的助记符:在编写代码的过程中,我们认为变量名表示的是数据本身,而函数名、字符串名和数组名表示的是代码块或数据块的首地址;程序被编译和链接后,这些名字都会消失,取而代之的是它们对应的地址指针变量可以进行加减运算,例如p++、p+i、p-=i。指针变量的加减运算并不是简单的加上或减去一个整数,而是跟指针指向的数据类型有关。给指针变量赋值时,要将一份数据的地址赋给它,不能直接赋给一个整数,例如int *p = 1000;是没有意义的,使用过程中一般会导致程序崩溃。使用指针变量之前一定要初始化,否则就不能确定指针指向哪里,如果它指向的内存...