基本C编程
TONGGETONGGE
这个作者很懒,什么都没留下…
展开
-
关于malloc和free函数的用法 转载自清钟沁桐
个人总结在C语言的学习中,对内存管理这部分的知识掌握尤其重要!之前对C中的malloc()和free()两个函数的了解甚少,只知道大概该怎么用——就是malloc然后free就一切OK了。当然现在对这两个函数的体会也不见得多,不过对于本文章第三部分的内容倒是有了转折性的认识,所以写下这篇文章作为一个对知识的总结。这篇文章之所以命名中有个“浅谈”的字眼,也就是这个意思了!希望对大转载 2010-03-09 16:14:00 · 1312 阅读 · 3 评论 -
如何测试系统大小端
#include #include int main(void){ int a=0x8f0110ff; unsigned char *c=(unsigned char *)&a; printf("%d/n",*c); ++c; printf("%d/n",*c); ++c; printf("%d/n",*c);原创 2010-04-25 19:51:00 · 823 阅读 · 0 评论 -
数组和指针的理解
<br />int a[10];<br />a代表指向数组第一个元素的指针常量,所以a是 int *类型。<br />&a 代表指向整个数组的开始地址,对象是整个数组。所以a的类型是 int (*)[10]<br />int a[10][10];<br />a代表指向数组第一个元素的指针常量,而数组的第一个元素是一个一维数组,所以a类型为 int (*)[10]<br />&a代表指向整个二维数组的指针常量,所以&a的类型为int (*)[10][10]<br />原创 2010-10-24 21:46:00 · 320 阅读 · 0 评论 -
编程小技巧
<br />不用中间变量交换两个数字<br />1。int a,b;<br /> a = a^b;<br /> b = a^b;<br /> a = a^b;<br />2。int a,b;<br /> a = a+b;<br /> b = a-b;<br /> a = a-b;<br />原创 2010-10-30 21:09:00 · 373 阅读 · 0 评论 -
变长参数宏 不定参数宏
变长参数宏类似printf的参数,后面参数个数可以不确定.这样可以写出比较复杂的宏,主要用于调试语句。 对于变长参数宏的支持,不同编译器有不同支持。VC++ 7.0 (VS.net)前不支持把宏的变长参数.只支持变长参数的函数设计.换句话说宏中不能出现…。在 GNU C 中gcc 支持的形式比较灵活,宏体即可以是函数,也可以是语句块.变长参数宏一大应用就是调试输出宏.在需要调试时打开调试宏,发行时只要简单关闭调试宏,则完全从程序中移走。 gcc的变长宏的用法 变长宏在宏名中转载 2010-11-13 21:46:00 · 7811 阅读 · 0 评论 -
宏定义求结构体内变量偏移
<br />#define structoff(s, a) (&((struct s*)0)->a) /**< 使用方法:structoff(结构名, 元素名) */<br />#define structoff_var(v, a) ((char*)&v.a - (char*)&v) /**< 使用方法:structoff_var(结构变量名,元素名) */<br />#define structoff_ptr(p, a) ((char*)&(p)->a - (char*)转载 2010-11-15 21:33:00 · 651 阅读 · 0 评论 -
简单调试打印函数
#include #include #include #include #include "debug_message.h"void debug_message(const char *ptr, ...){#ifdef DEBUG_OPEN原创 2011-09-15 10:57:39 · 770 阅读 · 0 评论