
C语言
小小豆芽
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Optimizing C and C++ Code
Optimizing C and C++ Code(http://www.eventhelix.com/)<br />Embedded software often runs on processors with limited computation power, thus optimizing the code becomes a necessity. In this article we will explore the following optimization techniques for转载 2010-10-24 12:42:00 · 407 阅读 · 0 评论 -
C++的static关键字
<br />C++的static关键字<br /><br />作者:韩耀旭<br /><br /> C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。<br />一、面向过程设计中的static<br />1、静态全局变量<br />在全局变量前,加上关键字static,该变量就被定义成为一个静态全局变量。我们先举一个静态全局变量的例子,如下://Example 1#includ转载 2010-10-24 12:55:00 · 294 阅读 · 0 评论 -
C语言中的复杂声明解析
<br /> 在很多情况下,尤其是读别人所写代码的时候,对C语言声明的理解能力变得非常重要,而C语言本身的凝练简约也使得C语言的声明常常会令人感到非常困惑,因此,在这里我用一篇的内容来集中阐述一下这个问题。<br /> <br />问题一:声明与函数<br /> 有一段程序存储在起始地址为0的一段内存上,如果我们想要调用这段程序,请问该如何去做?答案是(*( void (*) ( ) ) 0 ) ( )。看起来确实令人头大,那好,让我们知难而上,从两个不同的途径来详细分析这个问题。<br />答案分析转载 2010-10-23 22:25:00 · 329 阅读 · 0 评论 -
格雷码与二进制码的互转
<br />格雷码(Gray code),又叫循环二进制码或反射二进制码<br /><br /> 在数字系统中只能识别0和1,各种数据要转换为二进制代码才能进行处理,格雷码是一种无权码,采用绝对编码方式,典型格雷码是 一种具有反射特性和循环特性的单步自补码,它的循环、单步特性消除了随机取数时出现重大误差的可能,它的反射、自补特性使得求反非常方便。格雷码属于可靠 性编码,是一种错误最小化的编码方式,因为,自然二进制码可以直接由数/模转换器转换成模拟信号,但某些情况,例如从十进制的3转换成4时二进制原创 2010-10-23 22:07:00 · 2466 阅读 · 0 评论 -
gcc核心扩展
<br />GNU CC是一个功能非常强大的跨平台C编译器,它对C 语言提供了很多扩展,这些扩展对优化、目标代码布局、更安全的检查等方面提供了很强的支持。本文把支持GNU 扩展的C 语言称为GNU C。<br /> Linux 内核代码使用了大量的 GNU C 扩展,以至于能够编译 Linux 内核的唯一编译器是 GNU CC,以前甚至出现过编译 Linux 内核要使用特殊的 GNU CC 版本的情况。本文是对 Linux 内核使用的 GNU C 扩展的一个汇总,希望当你读内核源码遇到不理解的语法和语义时,转载 2010-10-23 22:20:00 · 309 阅读 · 0 评论 -
#if defined(...)
<br />The special operator defined is used in #if and #elif expressions to test whether a certain name is defined as a macro. defined name and defined (name) are both expressions whose value is 1 if name is defined as a macro at the current point in the pr转载 2010-10-23 23:36:00 · 501 阅读 · 0 评论 -
关于Scanf和gets函数的讨论
<br />gets()函数用来从标准输入设备(键盘)读取字符串直到回车结束, 但回车符不属于这个字符串。其调用格式为: <br /> gets(s); <br /> 其中s为字符串变量(字符串数组名或字符串指针)。 <br /> gets(s)函数与scanf("%s", &s)相似, 但不完全相同, 使用scanf("%s", &s)函数输入字符串时存在一个问题, 就是如果输入了空格会认<br />为输入字符串结束,空格后的字符将作为下一个输入项处理, 但gets() 函数将接收原创 2010-10-24 12:30:00 · 410 阅读 · 0 评论 -
纯C小练习之模拟循环缓冲区
<br /> 为了巩固一下C语言基础,写了几个小程序。下面这个小程序实现了一个循环缓冲区,击键盘的“I”键,一个键盘事件被写入缓冲区;敲击“O”键,代表一个键盘事件从缓冲区被读出。以下是代码:<br />#include <stdio.h><br />#include <stdlib.h><br />#define BUTTOM_BUFF_SIZE 8<br />#define KEY_EVENT 'e'<br />typedef unsigned char u8;<br />typedef s原创 2010-10-24 12:38:00 · 622 阅读 · 0 评论 -
内存显示函数
<br />闲来无事,为了练练c编程,于是乎就写了以下这个函数:<br />/***********************************************************************************<br />3 * Function Name : print_hex_ascii<br />4 *<br />5 * Parameter: buff ---- The head pointer of the data buffer原创 2010-10-24 13:03:00 · 436 阅读 · 0 评论