1. 数据交换
不借助第三方变量实现对两个数字的交换。
void swap( int *a,int *b )
{
*a ^= *b ^= *a ^= *b;// 两两取反
}
2.char[0]
内核中,常见char[0]结构体字段的声明。
struct MyData
{
int nLen;
char data[0];// 不占空间
};
sizeof(MyData) = 4;
变长数组,可申请一块连续空间,防止内存碎片,嵌入式开发中比较常见。
运用:
struct MyData *p = (struct MyData *)malloc(sizeof(struct MyData) + strlen(str))
可通过 p->data 来操作这个str。
3. 死循环
for ( char i=0; i<=0x7F; i++ ){ }
经常会习惯性写出上述代码,上述代码会形成死循环。
罪魁祸首就是i=0x7f这句,i=0x7f时,执行完循环后i=-128,条件为真,循环继续进行。
i值从 0 - 127, -128 - 0, 0 - 127 周而复始变化。
// 方法一:取消i=0x7f临界条件 for( char i=0; i<0x7f; i++){ } // 方法二:声明为无符号数,推荐 for( unsigned char i=0; i<=0x7f; i++ ){ }
相关推荐
JAVA开发之学习代码技巧基础.pdfJAVA开发之学习代码技巧基础.pdfJAVA开发之学习代码技巧基础.pdfJAVA开发之学习代码技巧基础.pdfJAVA开发之学习代码技巧基础.pdfJAVA开发之学习代码技巧基础.pdfJAVA开发之学习代码...
200+js代码技巧200+js代码技巧200+js代码技巧200+js代码技巧200+js代码技巧200+js代码技巧
symbian代码技巧 symbian代码技巧
补充知识--代码技巧.docx
c#资料代码技巧 c#的很多基础和要点
ios 代码 技巧总结 个人从学习ios以来的一些总结 因为水平一般 所以比较杂 每个单独的都是写在一个txt文件中 希望能对新学的童鞋有所帮助吧
网络视频自动播放代码技巧大全.docx网络视频自动播放代码技巧大全.docx
access代码技巧拾遗 一、在窗体上加按钮,单击后删除窗体上的照片―― 二、在窗体上加文本框,对窗体上的列表框内的数据进行计数―
注释代码技巧 c#中 很详细的文章 !! 适合初学者学习
写代码是从模仿开始的,提高也是从观摩别人的优秀设计和代码开始的。所以阅读源代码至关重要,接下来赞从下列方面聊聊阅读源码的事情。
java调用Oracle的存储过程 Oracle实现分页
200多个JS技巧代码
java 代码 性能优化 23种技巧 经典 非常不错,一些我们没有注意的问题。
最全面的html开发基础笔记大全.
总结了我这几年的.net开发中的一些技巧,都以文本文档的形式记录下来了 还有一些自己下载的网页特效 重点是我自己总结的一些多年的经验,在此和大家分享一下
少年 看了这个文档 你再写脚本时绝对会事半功倍 效率挺高明显哦 你不会后悔滴
200多个js技巧代码 200多个js技巧代码200多个js技巧代码200多个js技巧代码200多个js技巧代码200多个js技巧代码200多个js技巧代码200多个js技巧代码200多个js技巧代码200多个js技巧代码
优化PHP代码技巧的小结1. 如果一个方法能被静态,那就声明他为静态的,速度可提高 1/4;2. echo 的效率高于 print,因为 echo 没有返回值,print 返回一个整型;3. 在循环之前设置循环的最大次数,而非在在循环中;4. ...
数学和代码技巧 数学和代码技巧 数学技巧 三 如果整数的数字总和为3、6或9,则整数可以被3整除。连续地对数字进行求和,直到仅剩一个数字为止,如果是3、6或9,则原始数字可以被3整除。 例如: 16842 1 + 6 + 8 + ...
网页代码常用小技巧--html代码