
语言
开猴子挖掘机
这个作者很懒,什么都没留下…
展开
-
编译器优化和volatile详解
编译器优化:1.由于内存访问速度远不及CPU处理速度,为提高机器整体性能,在硬件上引入硬件高速缓存Cache,加速对内存的访问。另外在现代CPU中指令的执行并不一定严格按照顺序执行,没有相关性的指令可以乱序执行,以充分利用CPU的指令流水线,提高执行速度。以上是硬件级别的优化。再看软件一级的优化:一种是在编写代码时由程序员优化,另一种是由编译器进行优化。编译器优化常用的方法有:将内存变量缓存到寄存...转载 2018-02-07 22:36:12 · 802 阅读 · 0 评论 -
C语言中strlen()和 sizeof()的区别
C语言中没有字符串类型,字符串在内存中是用字符数组表示的。strlen( ):strlen( )求得的是字符串的长度sizeof( ):sizeof( )计算字符串占的总内存空间例如字符串str[20]= {“abcdef”};strlen(str),结果为6sizeof(str),结果为20...原创 2019-03-03 02:19:00 · 544 阅读 · 0 评论 -
C语言中malloc、calloc、以及realloc函数的区别
首先,对于malloc函数。其原型void*malloc(unsignedintnum_bytes)num_byte为要申请的空间大小,需要我们手动的去计算,如int*p=(int*)malloc(20*sizeof(int)),如果编译器默认int为4字节存储的话,那么计算结果是80Byte,一次申请一个80Byte的连续空间,并将空间基地址强制转换为int类型,赋值给指针...转载 2019-03-03 02:23:47 · 1166 阅读 · 0 评论 -
C语言 牛顿迭代法求平方根
对于用牛顿迭代法求平方根,最重要的是利用函数关系得到切线方程,再求出迭代公式牛顿迭代法:多数方程不存在求根公式,牛顿提出了一种用迭代来求方程近似根的方法。思路就是不断取切线,用线性方程的根逼近非线性方程f(x)=0的根X*。流程演示:不断取切线,逼近非线性方程f(x)的根迭代公式的求法过点(Xk,f(Xk))作函数的切线,切线方程是:.切线与x轴的交点是Xk+1,点(X...原创 2019-03-04 02:46:11 · 10308 阅读 · 0 评论