
C/C++
知识
信念Belief行动Action关爱Love始终如一Always自然和谐Nature自律Control高效率Efficiency
展开
-
值得收集的几张ASCII码图片——ASCII picture is worth to collect
ASCII picture is worth to collect, and we have interest in collecting, very easy to use原创 2013-10-02 18:18:37 · 2219 阅读 · 0 评论 -
CC+语言 struct 深层探索——CC + language struct deep exploration
1 struct 的巨大作用 面对一个人的大型C/C++程序时,只看其对struct 的使用情况我们就可以对其编写者的编程经验进行评估。因为一个大型的C/C++程序,势必要涉及一些(甚至大量)进行数据组合的结构体,这些结构体可以将原本意义属于一个整体的数据组合在一起。从某种程度上来说,会不会用struct,怎样用struct 是区别一个开发人员是否具备丰富开原创 2013-10-30 23:59:25 · 1666 阅读 · 0 评论 -
C 语言高效编程的几招——A few action of efficient C language programming
编写高效简洁的C 语言代码,是许多软件工程师追求的目标。本文就工作中的一些体会和经验做相关的阐述,不对的地方请各位指教。 第1 招:以空间换时间 计算机程序中最大的矛盾是空间和时间的矛盾,那么,从这个角度出发逆向思维来考虑程序的效率问题,我们就有了解决问题的第1 招--以空间换时间。 例如:字符串的赋值。 方法A,通常的办法: #define LE原创 2013-10-30 23:56:46 · 1608 阅读 · 0 评论 -
C++类对象的复制-拷贝构造函数——The c + + class object replication - copy constructor
我们已经学习过了类的构造函数和析构函数的相关知识,对于普通类型的对象来说,他们之间的复制是很简单的,例如: int a = 10; int b =a; 自己定义的类的对象同样是对象,谁也不能阻止我们用以下的方式进行复制,例如: #include iostream> using namespace std; class Test {原创 2013-10-26 20:34:38 · 1183 阅读 · 1 评论 -
经典c程序100例==1--100——Classic c program 100 = = 1-100
【程序1】 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。 2.程序源代码: main() { int i,j,k; printf("\n"); for(i=1;i for(j=1;j for (k=1;k原创 2013-10-17 22:57:22 · 1454 阅读 · 0 评论 -
static作用——The static effect
1)在函数体内,一个被声明为静态的变量在这一函数被调用过程中维持其值不变(该变量存放在静态变量区)。 2) 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。 3) 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用。 大多数应试者能正确回答第一部分,原创 2013-10-08 23:24:54 · 975 阅读 · 0 评论 -
关于GCC的理解——On the understanding of the GCC
GCC 有超过100个的编译选项可用. 这些选项中的许多你可能永远都不会用到, 但一些主要的选项将会频繁用到. 很多的 GCC 选项包括一个以上的字符. 因此你必须为每个选项指定各自的连字符, 并且就象大多数 Linux 命令一样你不能在一个单独的连字符后跟一组选项. 例如, 下面的两个命令是不同的: gcc -p -g test.c gcc -pg test.c 第一条命令告诉 GCC原创 2013-10-08 22:25:02 · 961 阅读 · 0 评论 -
ArrStack——数组栈(procedure)
//数组栈,对于无法预料栈的长度情况下,可能会因为原分配数组不够长而导致数据溢出,或因为数组太长而浪费空间。但是操作快,不需要额外的操作。而链表与此想法,可以动态分配内存,但是要增加额外的操作。 #include #include #include "stack.h" int main() { int i; Type x; STACK *s = NULL; Type原创 2013-10-07 18:16:04 · 984 阅读 · 0 评论 -
stdarg.h函数用法(procedure)
#include #include int func(int n, ...); int sum(int n, ...); int xprintf(const char * fmt, ...); int func(int n, ...) { va_list ap; va_start(ap, n); while(n-- > 0) {原创 2013-10-06 23:43:24 · 1162 阅读 · 0 评论 -
snprintf与printf
int sprintf( char *buffer, const char *format [, argument] ... ); 除了前两个参数类型固定外,后面可以接任意多个参数。而它的精华,显然就在第二个参数:格式化字符串上。 printf和sprintf都使用格式化字符串来指定串的格式,在格式串内部使用一些以“%”开头的格式说明符(format specifications)来占据一个原创 2013-10-06 23:38:06 · 2509 阅读 · 0 评论 -
malloc calloc realloc
ANSI C说明了三个用于存储空间动态分配的函数 (1) malloc 分配指定字节数的存储区。此存储区中的初始值不确定 (2) calloc 为指定长度的对象,分配能容纳其指定个数的存储空间。该空间中的每一位(bit)都初始化为0 (3) realloc 更改以前分配区的长度(增加或减少)。当增加长度时,可能需将以前分配区的内容移到另一个足够大的区域,而新增区域内的初始值则不确定原创 2013-10-04 20:38:08 · 923 阅读 · 0 评论 -
变参函数——stdarg——printf——variable and function
va_list是一个宏,由va_start和va_end界定。 typedef char* va_list; void va_start ( va_list ap, prev_param ); type va_arg ( va_list ap, type ); void va_end ( va_list ap ); 其中,va_list 是一个字符指针,可以理原创 2013-10-05 15:31:11 · 1129 阅读 · 0 评论