C/C++
对World说Hello
You either die a hero,or you live long enough to see yourself become the villain.
展开
-
C语言编码规范
C语言编码规范A.1 排版1-1:程序块要采用缩进风格编写,缩进的TAB键一个。1-2:相对独立的程序块之间、变量说明之后必须加空行。1-3:较长的语句(>80字符)要分成多行书写,长表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出的新行要进行适当的缩进,使排版整齐,语句可读。1-4:循环、判断等语句中若有较长的表达式或语句,则要进行适应的划分,长表达式要在低优先级操作符处划转载 2014-01-02 14:27:09 · 5003 阅读 · 0 评论 -
做错过的C语法题目
语法题目考察的比较集中,基本上包括以下几个方面:宏定义和预处理结构体、功用体对齐、长度sizeof/typedef变量类型转换指针运算关键字运算符优先级语法解析需要认证啊,错很多基础的。本篇博客耗时4小时。一、宏定义和预处理1、写出下列代码的运行结果:#include #define STRCPY(a, b) strcpy(a ## _p, #b)转载 2014-03-11 18:25:23 · 911 阅读 · 0 评论 -
C语言结构体里的成员数组和指针
单看这文章的标题,你可能会觉得好像没什么意思。你先别下这个结论,相信这篇文章会对你理解C语言有帮助。这篇文章产生的背景是在微博上,看到@Laruence同学出了一个关于C语言的题,微博链接。微博截图如下。我觉得好多人对这段代码的理解还不够深入,所以写下了这篇文章。为了方便你把代码copy过去编译和调试,我把代码列在下面:#include struct str{ int l转载 2014-04-01 14:02:37 · 783 阅读 · 0 评论 -
在函数外存取局部变量的一个比喻
int * foo(){ int a = 5; return &a;} int main(){ int* p = foo(); cout << *p; *p = 8; cout << *p;} 你可以编译并运行这个代码(编译时会有一个Warning),结果是:5 8。看上去你可以存取一个函数内的局部变量。但这和我们理解的不一样—转载 2014-04-01 09:36:43 · 831 阅读 · 0 评论 -
程序员技术练级攻略
月光博客6月12日发表了《写给新手程序员的一封信》,翻译自《An open letter to those who want to start programming》,我的朋友(他在本站的id是Mailper)告诉我,他希望在酷壳上看到一篇更具操作性的文章。因为他也是喜欢编程和技术的家伙,于是,我让他把他的一些学习Python和Web编程的一些点滴总结一下。于是他给我发来了一些他的心得和经历转载 2014-03-20 08:10:08 · 1018 阅读 · 0 评论 -
C语言指针5分钟教程
指针、引用和取值什么是指针?什么是内存地址?什么叫做指针的取值?指针是一个存储计算机内存地址的变量。在这份教程里“引用”表示计算机内存地址。从指针指向的内存读取数据称作指针的取值。指针可以指向某些具体类型的变量地址,例如int、long和double。指针也可以是void类型、NULL指针和未初始化指针。本文会对上述所有指针类型进行探讨。根据出现的位置不同,操作符 * 既可以用来声转载 2014-03-10 09:05:44 · 740 阅读 · 0 评论 -
#include< >和#include""的区别
Answer 1:#include 会将指定文件的内容插入到源程序文件中。当使用的格式时,编译器会从环境变量INCLUDE所指定的路径中寻找file-name 文件,如果没有定义INCLUDE,C 编译器会在指定的路径中搜寻文件。如HT-IDE3000安装后,默认INCLUDE路径是c:\ht-ide3000\include.在文件中调用芯片头文件用#include 如果使用“file-n转载 2014-03-05 10:24:27 · 975 阅读 · 0 评论 -
如何理解指向指针的指针?
问题:如何理解指向指针的指针?我在一篇教程中看到下面这段,它描述指向指针的指针是如何运作的。引用文章相关段落如下:int i = 5, j = 6, k = 7;int *ip1 = &i, *ip2 = &j;现在我们可以这么写:int **ipp = &ip1;那么现在指针 ipp 指向了 ip1,ip1 指向了 i。*i转载 2014-03-04 11:00:09 · 3843 阅读 · 0 评论 -
让你的 C 程序更有效率的 10 种方法
任何代码的美丽不仅在于找到一个给定的问题的解决方案,但在它的简单性,有效性,紧凑性和效率(内存)。设计的代码比实际执行更难 。因此,每一个程序员当用C语言开发时,都应该保持这些基本的东西在头脑中。 本文向你介绍规范你的C代码的10种方法。1. 避免不必要的函数调用考虑下面的2个函数:void str_print( char *str ){ int转载 2014-03-04 09:19:48 · 636 阅读 · 0 评论 -
const
一,const关键词有什么作用。1,定义const常量。 例如: const int n = 10;2,修饰函数的形参。 该作用很重要,在函数的形参必要的地方加const修饰可以增加函数的健壮性,防止意外的修改。例如: 97 char *strcpy(char *dest, const char *src) 98 { 99 +---char *tmp = dest;100转载 2013-10-29 14:36:46 · 773 阅读 · 0 评论 -
static关键词
static的用法可以概括为如下三个问题:1,static函数和普通函数有什么区别?2,static全局变量和普通全局变量有什么区别?3,static局部变量和普通局部变量有什么区别?上面这个三个问题也恰好反映了static三个修饰对象,函数,全局变量和局部变量。--------------------------------------------------------------------转载 2013-10-29 14:36:53 · 878 阅读 · 0 评论 -
C++语言的15个晦涩特性
这个列表收集了 C++ 语言的一些晦涩(Obscure)特性,是我经年累月研究这门语言的各个方面收集起来的。C++非常庞大,我总是能学到一些新知识。即使你对C++已了如指掌,也希望你能从列表中学到一些东西。下面列举的特性,根据晦涩程度由浅入深进行排序。1. 方括号的真正含义2. 最烦人的解析3.替代运算标记符4. 重定义关键字5. Placement new6.在声明变量的转载 2014-01-02 14:26:38 · 545 阅读 · 0 评论 -
C语言实现二进制文件读写
我一直觉得二进制文件读写是个很容易的事,所以一直没在意,最近在写一个http客户端,实现文件下载的时候,发现总有问题,后来才发现是忘记写文件用二进制方式,惭愧的很啊。然后,就在网上搜索了一下,发现通过C语言实现二进制文件读写的资料居然出奇的少,这让我很愤怒,因为虽然这东西很简单,但是对于初学者,往往会需要花很长的时间去弄,一旦明白,又发现花的时间很不值得,罢了,这里通过一个文件拷贝的例子来讲讲转载 2014-01-02 14:27:04 · 4282 阅读 · 0 评论 -
深入理解C语言
Dennis Ritchie 过世了,他发明了C语言,一个影响深远并彻底改变世界的计算机语言。一门经历40多年的到今天还长盛不衰的语言,今天很多语言都受到C的影响,C++,Java,C#,Perl, PHP, Javascript, 等等。但是,你对C了解吗?相信你看过本站的《C语言的谜题》还有《谁说C语言很简单?》,这里,我再写一篇关于深入理解C语言的文章,一方面是缅怀Dennis,另一方面是转载 2014-04-01 10:38:24 · 1846 阅读 · 0 评论