C
^Moon^
这个作者很懒,什么都没留下…
展开
-
sizeof运算符用法
sizeof在使用的时候看上去像是一个函数(因为其后面有一对小括号),但他却是一个运算符。他的使用方法有以下3种:a) sizeof(变量名)。b) sizeof(数据类型名)。c) sizeof 变量名。sizeof的返回值类型为size_t。...原创 2022-04-22 21:13:38 · 237 阅读 · 0 评论 -
expected unqualified-id before numeric constant
在编译开源的第三方库时,可能会遇到错误:expected unqualified-id before numeric constant分析后发现,是自己定义的枚举变量名与第三方库中的同名了,导致变量重复定义。解决方法:自己的类型加上命名空间自定义的类型添加特定的前缀...原创 2021-09-17 17:22:47 · 7687 阅读 · 0 评论 -
牛顿迭代法求方程根
#include <stdio.h>#include <math.h>double test_func0(double x){ return (2*x*x*x - 4*x*x + 3*x - 6);}double test_func1(double x){ return (6*x*x - 8*x + 3);}void newton(double *x, double pre原创 2016-10-13 11:02:05 · 489 阅读 · 0 评论 -
泰勒展开式求sin(x)
#include #include #define TRUE 1#define FALSE 0#define BOOL unsigneddouble get_result(double x, int n);double get_n(int n); // n的阶乘int main(void){ printf("get_result(0.3,原创 2016-10-13 09:11:55 · 5714 阅读 · 1 评论 -
求最大公约数(辗转相除法)
unsigned gcd(unsigned m, unsigned n){ if(m<n) { m ^= n; n ^= m; m ^= n; } unsigned tmp, a,b, ret; a = m; b = n; do { tmp = a % b;原创 2016-10-12 17:01:16 · 257 阅读 · 0 评论 -
素数
判断一个自然数是否为素数:bool isPrime(unsigned long num){ if(num <= 3) return num > 1; if(num % 2 == 0 || num % 3 == 0) return FALSE; int i = 5; for(i=5; i*i < num; i+=6) {原创 2016-10-12 16:34:23 · 244 阅读 · 0 评论 -
inline与宏
在需要编写一段短小的类似函数的功能性代码时,inline函数作为C++中附加的特性,比传统C中的宏(#define)更可靠(至少容易避免错误)。 #define SQUARE(X) X*X宏的工作机制是“字符替换”。 a = SQUARE(5.0); // a = 5.0*5.0 b = SQUARE(4.5 + 7.5); // b = 4.5 + 7.5 * 4.5原创 2015-03-12 11:17:15 · 606 阅读 · 0 评论 -
关于自定义各种swap()函数(函数参数传递)
在C预言的学习中,提到函数参数的值传递和指针传递,最为经典的是例子莫过于 交换两个参数的值:SWAP( int p, int q);int a = 1, b = 2;(1)void swap ( int p, int q){int temp;temp = p;p = q;q = temp;}swap ( a, b);是不能交换a和b的值的。这样传的是值得副原创 2013-05-29 20:55:06 · 3590 阅读 · 1 评论 -
指针和引用的区别
(1)非空区别。在任何情况下都不能使用指向空值的引用。一个引用必须总是指向某些对象。因此如果你使用一个变量并让它指向一个对象,但是该变量在某些时候也可能不指向任何对象,这时你应该把变量声明为指针,因为这样你可以给它赋空值。相反,如果变量肯定指向一个对象,例如你的设计不允许变量为空,这时你就可以把变量声明为引用。不存在指向空值的引用这个事实意味着使用引用的代码效率比使用指针要高。(2)合法性区别原创 2013-05-29 19:53:56 · 630 阅读 · 0 评论 -
编程箴言(Programing Adages)
1.通用1.1注释、注释、注释。在程序中加大量的注释。这不仅让别的程序员知道你做了什么,也提醒你自己。1.2遵守KISS准则(Keep It Simple, Stupid)。清晰、简介远比复杂和巧妙好得多。1.3避免副作用。使++和--单处一行。1.4使用前缀形式的++和--(++X, --X),而避免使用后缀形式(X++, X--)。这条准则对C编程没有什么意义,但是非常有助于转翻译 2012-10-16 16:23:17 · 597 阅读 · 0 评论