
C语言拾遗
文章平均质量分 77
从头开始,系统的整理C语言进阶的一些知识细节。
非典型技术宅
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
变长数组和柔性数组
变长数组和柔性数组絮絮叨叨: 让人不开心的事,不去做就好数组的变种我们常规使用的数组大部分都是C89标准的功能,在C99标准中添加了对变长数组和零长度数组的支持。这两种新的特性有时会给开发带来不错的效果。变长数组变长数组(variable-length array)并不是长度可以变化的数组。在最开始学习C语言时,基本都强调过数组的长度是不可变的,同样这句话依然适用。这里指的变长,是在定义数组的时候长度可变,而不是在使用数组时长度可变。即定义数组时的数组长度可以是变量。例如:int cp原创 2021-05-22 00:27:13 · 548 阅读 · 0 评论 -
为什么建议少用if语句,不是运行效率!
为什么建议少用if语句,不是影响运行效率!絮絮叨叨:放假使我的作息混乱…相信大家或多或少的听说过,少用点if-else吧?但是为什么要少用呢,有人说他会影响程序运行效率,但是这并不是他最大的罪状!if-else 的罪状if-else 作为三种最基本的程序结构之一,是我们从最开始学习编程时就接触的基本语句。但是到后面的阶段就不断听人说少用if-else。如果询问原因的话,你得到的结果大概率时if-else导致程序运行效率下降。这次来扯扯为什么我们说要少用if-else。导致程序运行效率下降(大原创 2021-05-04 00:52:25 · 5486 阅读 · 0 评论 -
什么是工厂模式(C语言面向对象实现)
什么是工厂模式(C语言示例)絮絮叨叨:今天师傅让我给他讲讲什么是工厂模式,工厂模式又要怎么用。虽然说知道什么是工厂模式,但是在还没在实际的代码中用过。于是乎又深入的学习了下,发现工厂模式其实我们都见过,只是并没意识到而已。什么是工厂模式这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。按照我的理解就是:“工厂模式将创建对象和使用对象两个过程分离,对于使用者无需关心对象的产原创 2021-03-12 00:40:53 · 964 阅读 · 1 评论 -
预处理指令之define
预处理指令之define#define 指令是再学习C语言时接触的第二个预处理指令,他的基本用法很简单,但是进阶使用却可以实现很多复杂的功能,正是如此,也容易掉入坑里~一、 define的基本用法define的最简单用法就是宏替换,将一个宏替换为指定的替换体。#define PI 3.1415这个语句的会将文件中出现的PI(全字匹配,且不在字符串中)替换为3.1415。例如下面的语句:printf("PI is %f\n",PI);//输出结果为:PI is 3.1415第一个PI由于原创 2020-12-19 22:48:57 · 738 阅读 · 1 评论 -
C语言预处理指令之include
C语言预处理指令之include闲言碎语在最开始写这篇文章时是打算用一篇文章将预处理指令写完,但是写着写着发现整体下来的篇幅太大了。同时把所有的指令放到一块很难对每个指令做出详细的介绍,所以后面准备使用一篇文章去讲解一个点,争取把它说清楚。关于include 指令#include指令可能是我们使用最多的一个预处理指令了, 基本在所有源文件中都要使用include包含头文件。 #include <stdio.h> ...原创 2020-12-11 00:59:33 · 1737 阅读 · 0 评论 -
从编码到运行-程序编译过程详解
前言程序从一堆字符怎么变成一个可运行的程序呢,在这我们使用最简单的一个hello word 程序来演示程序的一个完整流程。在这过程中找到一些有用的调试方法,帮助我们在debug时快速解决问题。程序编译时的整体流程经过:编码 、 预处理 、编译、 汇编、 链接运行环境windows 10 + cygwingcc 版本 7.4.0一、 编码按照C语言语法规则,将字符组合成一段有特定含义的文本。main.c#include <stdio.h>char hello[]原创 2020-12-09 22:17:49 · 1563 阅读 · 0 评论 -
数据结构之线性表
线性表重新系统学习数据结构知识,使用博客记录之。【系列博客】数据结构和算法 C语言实现本文概览C语言实现顺序式线性表和链式线性表可储存任意类型数据结构支持插入、删除、读取、查找、遍历等接口。1. 什么是线性表线性表是由n个有限数据元素组成的有限序列。特点:同一线性表中的元素具有相同特性相邻数据元素之间存在序偶关系。除第一个元素都有一个前驱元素除最后一个元素都有一个后继元素结构:线性表的存储结构可分为顺序式和链式两种,下面名称中出现的线性表均指顺序式的线性表,链式线原创 2020-08-10 19:07:51 · 210 阅读 · 0 评论 -
【系列博客】数据结构和算法 C语言实现
前言该系列博客记录数据结构知识点及其C语言实现,同时记录一些常用的算法的解决方法开发日志V1.0 线性表时间:2020-8-9连续式线性表和链式线性表的数据结构功能可储存通用数据类型,支持默认数据类型和自定义数据类型支持插入,读取,删除,遍历,查找等功能算法任意位整数的加法,链表实现...原创 2020-08-09 00:22:45 · 192 阅读 · 0 评论 -
【Linux】 Orangepi GPIO开发详解
Orangepi GPIO 驱动开发详解最近新入手了一个OrangePi ,准备学习一下linux下的驱动开发,不过由于刚开始入门,踩到的坑有点多。硬件环境:OrangePi PC Puls开发工具:gcc开发环境:vscode + Remote SSH ( 不得不说vscode真的香啊~)wiringPi库驱动在刷入linux镜像之后,第一个程序就是编写Blink程序!安装wiringPi库首先克隆orangepi的wiringpi库:#获取wiringpi库git clone h原创 2020-07-19 15:45:15 · 7769 阅读 · 0 评论 -
C函数指针 示例
函数指针是指向函数的指针变量,其指针指向函数内存的入口地址。函数指针有两个用途:调用函数和做函数的参数。函数指针的声明方法为:返回值类型 ( *指针变量名) ([形参列表]); 例如:int fun(int x); //声明一个函数 int (*pf) (int x); // 声明一个函数指向指针 int为声...原创 2018-03-05 22:17:35 · 241 阅读 · 0 评论