- 博客(6)
- 资源 (5)
- 收藏
- 关注
原创 C语言中volatile关键字的作用是什么?
如果没有volatile关键字,编译器可能会默认此变量在程序运行过程中没有其他线程或者硬件设备对其修改,会将其存在寄存器,然后需要使用它的时候直接从寄存器中读取,一旦此变量被其他线程或者硬件设备修改后,此时该程序读取到的值并非此变量的实际值。对着变量操作时,每次都会从内存中读取,保证了这个变量的稳定且不是那么容易被其他线程篡改时造成冲突,导致值变化异常。用处:在多线程变成中,可能有多个线程对这个变量进行修改,保证了当前线程读取此volatile变量时是最新的值。
2024-05-17 10:10:18 378
原创 对单链表逆序的两种方法
本文介绍一个简单的关于数据结构的算法题目."对未知长度的单链表进行逆序操作"代码功能:实现对一个含有头节点长度未知的单向链表逆序,原始链表为:头->1->2->3->4->5,经过逆序后:头->5->4->3->2->1.逆序方法一:pLinkList reverse(pLinkList &List)遍历整个链表,...
2020-01-11 19:17:17 736 1
原创 线性同余法求伪随机数序列
利用线性同余法求随机数,也可称作利用线性同余法求伪随机序列.线性同余法是一种求随机数的方法,它所求得得随机数的序列是成周期性,同时它是根据公式计算求得得随机数并非是由硬件产生的随机数所以被称作伪随机序列.随机序列的循环周期的大小取决于相关参数的选取,如果选取参数得当,可以将此循环周期拉得很长.以下算法是输入相关参数后,计算并产生随机数,然后输出循环周期的长度.线性同余法公式:a...
2019-12-22 13:02:03 2480
原创 通过对arcsinx的泰勒展开式求圆周率值
原理分析:arcsinx的泰勒公式:将sin(????/6)=1/2 带入,将多项式拆分成first_part和second_part,testarcsinx = first_part * second_part代码实现目标:输入一位整数n,即让终端输出小数位数为n的????值,如:输入4,则输出3.1416输入8,则输出3.14159265code实...
2019-12-17 14:20:04 20236
LPC1768 路灯控制器
2018-03-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人