![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c
文章平均质量分 64
_古怪
计算机 数字媒体与技术
展开
-
辗转相除法求两数的最大公约数(递归实现)
辗转相除法求两数的最大公约数(递归实现) 最大公约数定义:如果有一个自然数a能被自然数b整除,则称a为b的倍数,b为a的约数。几个自然数公有的约数,叫做这几个自然数的公约数。公约数中最大的一个公约数,称为这几个自然数的最大公约数。 辗转相除法(也叫欧几里德算法)原理: 早在公元前300年左右,欧几里得就在他的著作《几何原本》中给出了高效的解法——辗转相除法。辗转相除法使用到的原理很聪明原创 2012-10-26 14:26:47 · 4641 阅读 · 0 评论 -
sizeof详解
转载请注明出处: http://blog.sina.com.cn/s/blog_5da08c340100bmwu.html 一、sizeof的概念 sizeof是C语言的一种单目操作符,如C语言的其他操作符++、--等。 它并不是函数。 sizeof操作符以字节形式给出了其操作数的存储大小。 操作数可以是一个表达式或括在括号内的类型名。 操作数的存储大小由操作转载 2012-11-22 22:04:41 · 958 阅读 · 0 评论 -
C语言中的数据对齐问题
转载请注明出处:http://blog.csdn.net/jackiesen/article/details/6197513 说道C语言编程,就不得不提存储方式,这个在C语言程序员面试中经常会考到,很多人都会犯迷糊。之前看过一些文章写的对齐的原理或者说是方式,有的不尽完备,有的根本是以偏盖全,没有揭露数据对齐问题的实质。本人经过多次测试及搜索相关资料,总结出数据对齐问题的两个判断原则转载 2012-11-09 20:26:29 · 1290 阅读 · 3 评论 -
typedef和define的详细区别
转载请注明出处:http://blog.csdn.net/21aspnet/article/details/6723915 1) #define是预处理指令,在编译预处理时进行简单的替换,不作正确性检查,不关含义是否正确照样带入,只有在编译已被展开的源程序时才会发现可能的错误并报错。例如: #define PI 3.1415926 程序中的:area=PI*r*r 会转载 2012-11-22 16:51:23 · 610 阅读 · 0 评论 -
c程序内存分配
在任何程序设计环境及语言中,内存管理都十分重要。在目前的计算机系统或嵌入式系统中,内存资源仍然是有限的。因此在程序设计中,有效地管理内存资源是程序员首先考虑的问题。 C程序内存分配 1.C程序结构 (1)代码区(text segment)。存放CPU执行的机器指令(machine instructions)。通常,代码区是可共享的(即另外的执行程序可以调用它),因为对于频繁被执行的程序,转载 2012-11-19 17:10:32 · 921 阅读 · 0 评论 -
堆与栈的区别
一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack) — 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链转载 2012-11-19 16:47:04 · 550 阅读 · 0 评论 -
assert宏 (基本概念与用法整理)
assert宏 (基本概念与用法整理) assert宏的原型定义在中,其作用是如果它的条件返回错误,则终止程序执行,原型定义: #include void assert( int expression ); assert的作用是现计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,然后通过调用 abort 来终止程序运翻译 2012-11-13 21:26:29 · 1949 阅读 · 0 评论 -
递归输出数组中最大的数
递归输出数组中最大的数 #include #define N 6 void f(int a[],int length,int &max) //此处 max 必须使用引用,否则程序错误 { if (length == 0) { return ; } else { if(a[length-1]>原创 2012-10-26 10:21:54 · 703 阅读 · 0 评论 -
递归求n!
递归求n! #include #define N 5 int f(int n) { if(n == 0) //递归出口 return 1; else return n*f(n-1); } int main() { printf("%d\n",f(N)); return 0; } 总结:使用递归算法编写代码时,最好显式的标出递原创 2012-10-26 10:25:01 · 993 阅读 · 0 评论 -
递归输出1到N
递归输出1到N #include #define N 100 void f(int i) { if(i == 0) { return; } else { f(i-1); printf("%d\n",i); } } int main(){原创 2012-10-26 10:19:06 · 4313 阅读 · 1 评论 -
VC6.0配置GTK+开发环境
【转】VC6.0配置GTK+开发环境 参考了一些文章,自己实践了一下,总结出一套较为简便的方法配置VC6.0使其支持Windows下的GTK+开发,现在与大家分享。 1、下载GTK+多合一开发包(这样比较省事,不用一个一个下) 地址:http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.16/gtk+-bundle_2.转载 2012-11-07 15:07:14 · 1728 阅读 · 0 评论