
C/C++
yangjin_unique
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
va_list、va_start、va_arg、va_end的原理与使用 (转)
概述由于在C语言中没有函数重载,解决不定数目函数参数问题变得比较麻烦;即使采用C++,如果参数个数不能确定,也很难采用函数重载.对这种情况,有些人采用指针参数来解决问题.下面就c语言中处理不定参数数目的问题进行讨论.定义大家先看几宏.在VC++6.0的include有一个stdarg.h头文件,有如下几个宏定义:#define _INTSIZEOF(n) ((sizeof(转载 2012-08-02 22:07:09 · 405 阅读 · 0 评论 -
内存对齐 _INTSIZEOF(n)
问:#define _INTSIZEOF(n) ((sizeof(n)+sizeof(int)-1)&~(sizeof(int) - 1) )说能够在某些系统中内存对齐.(估计是得到一个2 或者4的整数倍)这个好象就是(x+3)&~3这样就能满足对齐了吗?请从数学上给说说.谢谢答(作者:win_hate):对于两个正整数 x, n 总存在整数 q, r 使得转载 2012-08-02 22:06:12 · 935 阅读 · 0 评论 -
void及void指针含义的深刻解析
void的含义 void即“无类型”,void *则为“无类型指针”,可以指向任何数据类型。void指针使用规范 ①void指针可以指向任意类型的数据,亦即可用任意数据类型的指针对void指针赋值。例如: int *pint; void *pvoid; pvoid = pint; /* 不过不能 pint = pvoid; */转载 2012-08-02 22:09:07 · 462 阅读 · 0 评论 -
C语言:0, '0', '\0', NULL 区别
'0'代表字符0,对应ascii码为48;‘\0’字符串结束符,对应的ascii码为0,所以while(*a++ != '\0')与while(*a** != 0)等价;NULL定义为(void *) 0,它是一个指针,指向一个地址为0的值,用于指针比较。原创 2012-12-09 18:57:58 · 666 阅读 · 0 评论