用c语言基本实现wc.exe功能
网址:https: github.com/3216005214/wc.exe
wc项目要求
wc.exe 是一个常见的工具,它能统计文本文件的字符数、单词数和行数。这个项目要求写一个命令行程序,模仿已有wc.exe 的功能,并加以扩充,给出某程序设计语言源文件的字符数、单词数和行数。
实现一个...[2018/9/25]
链表的创建,插入,删除,输出基本操作链表的创建,插入,删除,输出基本操作
#include<stdio.h> #include<cstdlib> struct student 定义一个学生结点,结点包括值域和指针域 { int num; 学号 char name[20]; 姓名 char addr...[2018/9/25]
单片机,struct ,union定义标志,节约RAM
单片机的RAM是非常少的,像新唐,STC,合泰等一些国产的51单片机,RAM 512 byte,1k,2k,非常常见,
有时候我们的串口接收一串数据,或AD连续采集,这些数据是不能放到 flash 里的,没办法,只能想法节约一些变量空间了.
标志位很多时候只有两种状态,就像bool型一样,真/...[2018/9/25]
整数的存储和运算
原码反码和补码
有符号数最高位为符号位,0为正数,1为负数。
正数的原码、反码和补码都是正数的二进制
e.g. 6(10)=00000110(2) 原码:00000110 反码:00000110 补码:00000110
负数的原码为它绝对值的二进制,但最高位为1,反码为原码取反(除了符号位,0变...[2018/9/25]
C 常量
前言 - 引言
每次都有点长, 不如来点短的. 轻松的, 当微型小说看的 ......
C++ const 表示常量(编译器语法糖 or 直接崩溃), 运行时不可改变(当然程序世界没有不可改变).
在 C 中 const 语义是不推荐变动的变量, 但不是不...[2018/9/25]
C- unsigned :1之位域分析
1.首先回忆结构体
我们都知道定义一个结构体可以这样的方式定义:
struct Point {
float x;
float y;
} point; 等价于: struct Point point;
除此之外...[2018/9/25]
UDP server Code
Code Example:
The following programs demonstrate the use of getaddrinfo(), gai_strerror(), freeaddrinfo(), and getnameinfo(). The programs are an ...[2018/9/25]
循环的代价-阶乘之和循环的代价-阶乘之和
题目:输入n,计算S = 1! + 2! +3! +...+ n!的末6位(不含前导0)。n ≤ 10^6,n!表示前n个正整数之积。
样例输入:
10
样例输出:
37913
【分析】引入累加变量S之后,核心算法只有“for(int i = 1; i <= n; i++) S +...[2018/9/25]
C 存储类
存储类定义 C 程序中变量/函数的范围(可见性)和生命周期。这些说明符放置在它们所修饰的类型之前。下面列出 C 程序中可用的存储类:
auto、register、static、extern
auto 存储类
auto 存储类是所有局部变量默认的存储类。...[2018/9/25]

C语言--指针详解
这段时间在看 Linux 内核,深觉 C 语言功底不扎实,很多代码都看不太懂,深入学习巩固 C 语言的知识很有必要。先从指针开始。 一、什么是指针 C语言里,变量存放在内存中,而内存其实就是一组有序字节组成的数组,每个字节有唯一的内存地址。CPU 通过内存寻址对存储在内存中的某个指定数据对...[2018/9/25]
使用 Mutex 实现进程间同步
我们知道 Mutex 互斥量是可以用在线程间同步的,线程之间共享进程的数据,mutex 就可以直接引用。而进程有自己独立的内存空间,要怎样将它应用在进程间同步呢?为了达到这一目的,可以在 pthread_mutex_init 初始化之前,修改其属性为进程间共享,并将其映射到共享内存中即可。
使...[2018/9/25]
音频算法之小黄人变声 附完整C代码
前面提及到《大话音频变声原理 附简单示例代码》与《声音变调算法PitchShift(模拟汤姆猫) 附完整C++算法实现代码》
都稍微讲过变声的原理和具体实现。
大家都知道,算法从实现到最后工程应用,中间的环节和问题特别多。
尤其是编码的架构设计,好的数据结构和代码逻辑封装肯定是可复用,组件化...[2018/9/25]
使用读写锁实现线程同步
简介:
读写锁与互斥量类似,但读写锁允许更高的并行性。其特性为:写独占,读共享。
读写锁特性:
读写锁是“写模式加锁”时,解锁前,所有对该锁加锁的线程都会被阻塞。
读写锁是“读模式加锁”时,如果线程以读模式对其加锁会成功。如果线程以写模式加锁会阻塞。
读写锁是“读模式加锁”时,如果有...[2018/9/25]
关于具有I2C总线的TEA6320的使用
现在先了解一下TEA6320,TEA6320是一个I2C总线控制音响应用的立体声放大器,,它的I2C协议和音量控制如下:
它的主要代码:
void delay1ms(unsigned ...[2018/9/25]
猴子课堂:ISAP学习笔记猴子课堂:ISAP学习笔记
学完了ISAP,感觉心情舒畅,毕竟ISAP比Dinic好一点。
说到底ISAP其实是Dinic(不熟悉Dinic的人去我的博客找猴子课堂----最大流与最小割(看看思想),已经置顶)优化版,熟悉的人知道Dinic是通过不断分层来做的,但是,我们如果用打标记(貂蝉的标记)的方法就会快一些!
会快...[2018/9/25]
c语言数字图像处理(一):bmp图片格式及灰度图片转换
本篇文章首先介绍了bmp图片格式,主要参考wiki上的内容,包括bmp文件的存储方式,对于一些常见的bmp文件格式都给了例子,并且对8位 16位RGB555 16位RGB565格式的bmp文件进行了简单分析,最后的代码可以将8位,16位,24位,32位色彩深度的bmp文件转化位8位灰度图片,用作后续...[2018/9/25]
c语言数字图像处理(二):图片放大与缩小-双线性内插法
图像内插
假设一幅大小为500 * 500的图像扩大1.5倍到750 * 750,创建一个750 * 750 的网格,使其与原图像间隔相同,然后缩小至原图大小,在原图中寻找最接近的像素(或周围的像素)进行赋值,最后再将结果放大
最邻近内插法
寻找最近的像素赋值
双线性...[2018/9/25]
c语言数字图像处理(三):仿射变换
仿射变换及坐标变换公式 几何变换改进图像中像素间的空间关系。这些变换通常称为橡皮模变换,因为它们可看成是在一块橡皮模上印刷一幅图像,然后根据预定的一组规则拉伸该薄膜。在数字图像处理中,几何变换由两个基本操作组成: (1)坐标的空间变换 (2)灰度内插,即对变...[2018/9/25]