C/C++
Marc Pony
科技求真,艺术求美,择一事,终一生。
古今之成大事业、大学问者,必经过三种境界:“昨夜西风凋碧树,独上高楼,望尽天涯路”,此第一境也;“衣带渐宽终不悔,为伊消得人憔悴”,此第二境也;“众里寻他千百度,蓦然回首,那人却在灯火阑珊处”,此第三境也。
展开
-
VS的C6386警告(缓冲区溢出)的消除方法
VS的C6386警告(缓冲区溢出)的消除方法原创 2022-08-11 22:52:51 · 13898 阅读 · 8 评论 -
c语言位运算(含大量实例)
c语言位运算,含大量实例转载 2022-01-05 22:44:53 · 502 阅读 · 0 评论 -
c语言读txt文件的数据与写数据到txt文件
c语言读txt文件的数据与写数据到txt文件,完整程序原创 2022-01-05 22:20:46 · 4839 阅读 · 0 评论 -
extern “c“用法解析
转载自:extern "c"用法解析转载 2021-09-18 21:37:39 · 148 阅读 · 0 评论 -
可以修改常变量的值吗(c语言)
c语言中,常变量是指被const关键字修饰的变量,其值一般在定义的时候初始化,之后不允许赋值改变其值。若常变量作为左值,试图对常变量赋值,编译器会报错,如以下例子。#include <stdio.h>#include <memory.h>int main(void){ const double a; const double array[3]; a = 1.0; //编译出错,提示“表达式必须为可修改的左值” array[0] = 2.0; /原创 2021-07-24 16:05:32 · 1275 阅读 · 0 评论 -
判断无符号整数是否为2的n次方(c语言)
//判断无符号整数a是否为2的n次方,若是返回1,不是返回0int is_power_of_two(unsigned int a){ if (a != 0u) { if ((a & (a - 1u)) == 0u) { return 1; } else { return 0; } } else { return 0; }}原创 2021-07-22 19:11:48 · 282 阅读 · 0 评论 -
为什么我推荐使用一级指针创建二维数组?
文章目录1、对于nnn行mmm列的二维数组aaa,a[i][j]a[i][j]a[i][j]与a[i∗m+j]a[i*m+j]a[i∗m+j]这两种数组元素的访问方式的效率是一样2、设计函数以传递指针类型的参数1、对于nnn行mmm列的二维数组aaa,a[i][j]a[i][j]a[i][j]与a[i∗m+j]a[i*m+j]a[i∗m+j]这两种数组元素的访问方式的效率是一样#include <time.h>#include <stdio.h>#include <ma原创 2020-12-14 22:41:50 · 662 阅读 · 0 评论 -
函数指针,函数指针数组,函数指针数组指针实例
实例1:#include<stdio.h>void fun1(void){ printf("call fun1\n");}void fun2(void){ printf("call fun2\n");}void main(void){ void(*pf1)(void); //定义函数指针变量 void(*pf2)(void); pf1 = fun1; //函数指针变量赋值(方式1) pf2 = &fun2; //函数指针变量赋值(方原创 2020-11-23 22:34:10 · 316 阅读 · 0 评论 -
c语言中如何避免过多使用全局变量
文章目录1、设计函数以传递指针类型的参数2、定义一个函数以获取/设置全局变量,利用static变量,将全局变量作用域限定于该函数,将全局变量隐藏起来3、把全局变量定义在某一个 .c 文件中, 并定义为 static类型,然后定义一系列操作这个变量的函数,头文件里面只有操作函数, 没有变量的声明1、设计函数以传递指针类型的参数 全局变量满天飞的代码:MP g_MPData;void fun0(void){ g_MPData.a = 0;}void fun1(void){ g_MPData原创 2020-11-10 22:19:33 · 6706 阅读 · 1 评论 -
c语言关键字之register
register关键字请求编译器尽可能地将变量存在CPU内部寄存器中,而不是通过内存寻址访问以提高效率。 使用register修饰符有几点限制: (1)因为register变量可能不存放在内存中,所以不能用“&”来获取register变量的地址。void main(){ register int a = 0; int *p = &a; //错误} (2)只有局部自动变量和形式参数可以作为寄存器变量,其它(如全局变量、结构体、共用体内部变量)不行。特别地,静态局部原创 2020-09-12 22:10:09 · 1184 阅读 · 0 评论 -
c语言关键字之auto
文章目录一、问题描述二、推导步骤三、MATLAB代码一、问题描述 给定n+1n+1n+1个点序列(ti,pi)(t_i,p_i)(ti,pi),利用分段七次多项式插值,使得分段多项式经过所有点序列。其中,tit_iti必须单调递增,i=0,1,...,ni=0,1,...,ni=0,1,...,n。二、推导步骤 起点处一阶导数估计:v0=(p1−p0)/(t1−t0)(1)v_0=(p_1-p_0)/(t_1-t_0)\tag 1v0=(p1−p0)/(t1−t0)(1)原创 2020-09-10 23:21:45 · 21769 阅读 · 0 评论 -
如何判断浮点数的有效性(C语言)
文章目录一、问题描述1、什么情况下计算结果为inf2、什么情况下计算结果为nan二、判断浮点数的有效性二、推导步骤三、CCC代码四、总结五、参考文献/资料一、问题描述 在编程过程中,有时候会因为考虑不周或者计算精度的问题,使计算结果“异常”:nan(Not a Number)或inf(Infinite)。例如,由于考虑不周,在计算对数函数log(x)log(x)log(x)时,x=0x=0x...原创 2020-02-28 22:37:48 · 7158 阅读 · 0 评论