C语言函数指针基础

本文写的非常详细,因为我想为初学者建立一个意识模型,来帮助他们理解函数指针的语法和基础。如果你不讨厌事无巨细,请尽情阅读吧。

函数指针虽然在语法上让人有些迷惑,但不失为一种有趣而强大的工具。本文将从C语言函数指针的基础开始介绍,再结合一些简单的用法和关于函数名称和地址的趣闻。在最后,本文给出一种简单的方式来看待函数指针,让你对其用法有一个更清晰的理解。

解读C指针

我想对很多学习C语言的新手来说,指针无疑是一个难点。但是,我觉得指针也是C语言特别重要的一个特性。也许,你在除了C和C++以外的编程语言中,很少看到指针。而C++中,也多用引用,而非指针。指针,作为一种高效的工具,可谓是一把双刃剑——用得好,可以大大提高程序效率,但用的不好,就是很多bug的滋生地。

为什么越学反而越蠢?碎片化学习是个骗局

先给你讲个故事,看你有没有中招。

有一天,你的朋友给你「知识装逼」了一个术语,牛!怎么知道的?—— 他推给你一个公众号。

你开始关注,觉得哇!大神!牛逼!长见识! 每天刷每天刷每天刷。很多问题也有了解决方法 —— 按照这个进度,过 3 年就能理解宇宙终极奥义了。

长期刷朋友圈接收碎片化知识有什么弊端?

碎片信息通常具备这样的特征:

  • 它们往往是一些事实的集合而非逻辑
  • 它们往往大量简化了推演过程
  • 它们往往将多路径简化为单一路径
  • 它们往往不够严谨、全面

简而言之,碎片信息为了达到易于习得的目的,通常会显著降低认知成本,最明显的方式就是:将复杂的事物简单化。它们往往只告诉你表面上的东西,却不会告诉你背后的原理,以及它与其他事物之间的联系。

RESTful API 设计

移动互联网时代,RESTful API成为越来越重要的移动端和服务器端交互的形式。尤其是在很多互联网公司或者传统行业拥抱移动互联网的时候,一套设计良好的Restful API能够帮助互联网产品支持单服务端+多客户端的场景。RESTful架构本身是一个风格而不是一个标准,这也就意味着在具体设计时会有不同的实现。

Linux开机启动十步骤

linux启动

启动第一步–加载BIOS

当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它。这是因为BIOS中包含了CPU的相关信息、设备启动顺序信息、硬盘信息、内存信息、时钟信息、PnP特性等等。在此之后,计算机心里就有谱了,知道应该去读取哪个硬件设备了。在BIOS将系统的控制权交给硬盘第一个扇区之后,就开始由Linux来控制系统了。

使用 VIM 编辑器

VI 编辑器是一个基于命令行的、功能强大的文本编辑器,最早为 Unix 系统开发,后来也被移植到许多的 Unix 和 Linux 发行版上。

在 Linux 上还存在着另一个 VI 编辑器的高阶版本 —— VIM(也被称作 VI IMproved)。VIM 只是在 VI 已经很强的功能上添加了更多的功能,这些功能有:

free命令 查看内存使用情况

free命令可以显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区。

语法

free(选项)

free 命令显示系统使用和空闲的内存情况,包括物理内存、交互区内存(swap)和内核缓冲区内存。共享内存将被忽略

Nginx安装及配置

安装

我用的是openSUSE,通过如下命令进行安装:

$ sudo zypper in nginx

安装完成即可,在/usr/sbin/目录下是nginx命令所在目录,在/etc/nginx/目录下是nginx所有的配置文件,用于配置nginx服务器以及负载均衡等信息

Linux文件基本属性

Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。