
C编程
文章平均质量分 76
cxf100900
这个作者很懒,什么都没留下…
展开
-
memset用法详解(转)
memest原型 (please type "man memset" in your shell) void *memset(void *s, int c, size_t n); memset:作用是在一段内存块中填充某个给定的值,它对较大的结构体或数组进行清零操作的一种最快方法。常见的三种错误第一: 搞反了c 和 n的位置. 一定要记住转载 2010-04-30 16:02:00 · 627 阅读 · 0 评论 -
C语言18个经典问题答录
1.这样的初始化有什么问题?char *p = malloc(10); 编译器提示“非法初始式” 云云。答:这个声明是静态或非局部变量吗?函数调用只能出现在自动变量(即局部非静态变量) 的初始式中。因为静态变量的地址必须在编译的过程中就确定下来而malloc()申请的内存地址是在运行时确定的。2. *p++ 自增p 还是p 所指向的变量?答:后缀++ 和-- 操作符本质转载 2010-05-25 14:19:00 · 500 阅读 · 0 评论 -
如何解释 #define OFFSET(struct_type, member) ((size_t) &((struct_type *) 0)->member)
解释如下:(struct_type *) 0把一段地址看作struct_type;(struct_type *) 0)->member指向它的member成员&((struct_type *) 0)->member取这个成员的地址(size_t) &((struct_type *) 0)->member把地址硬转为size_t类型 测试代码如下:原创 2010-05-26 14:59:00 · 3927 阅读 · 2 评论 -
c与c++混合编程(CU)
1.引言 C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C语言的全局变 量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程式语言的特点(被世人称为“不彻底地面向对象”), 因而它可以定义不属于任何类的全局变量和函数。但是,C++毕竟是一种面向对象的程序设计语言,为了支持函数的重载,C++对全局函数的处理方式与C有明 显的不同。 2.从标准头文件说起 某企业曾经给出如下的一道面试题: 面试题 为什么标准头文件都有类似转载 2010-08-30 16:48:00 · 1106 阅读 · 0 评论 -
c与c++混合编程(上)
[32] How to mix C and C++ 如何混合使用C和C++<br />(Part of C++ FAQ Lite, Copyright © 1991-2006, Marshall Cline, cline@parashift.com)Translator: Qiu Longbin <robin.qiu(at)yeah.net> FAQs in section [32]:· [32.1] 混合使用C和C++代码时我需要知道什么?· [32.2] 如何在C++代码里inc转载 2010-08-30 16:57:00 · 654 阅读 · 0 评论 -
c与c++混合编程(下)
<br />Mixing C and C++ Code in the Same Program<br /> <br />By Stephen Clamage, Sun Microsystems, Sun ONE Studio Solaris Tools Development Engineering<br /> <br />Translator: Qiu Longbin <robin.qiu(at)yeah.net><br /> <br />C++语言提供了一个混合代码的机制,使得代码可以在同一个程序中被兼转载 2010-08-30 17:00:00 · 1249 阅读 · 0 评论