C/C++
文章平均质量分 73
huangjin222
这个作者很懒,什么都没留下…
展开
-
c中的条件编译
C语言条件编译及编译预处理阶段一、C语言由源代码生成的各阶段如下:C源程序->编译预处理->编译->优化程序->汇编程序->链接程序->可执行文件 其中 编译预处理阶段,读取c源程序,对其中的伪指令(以#开头的指令)和特殊符号进行处理。或者说是扫描源代码,对其进行初步的转换,产生新的源代码提供给编译器。预处理过程先于编译器对源代码进行处理。 在C转载 2014-05-12 22:07:14 · 592 阅读 · 0 评论 -
C中的auto、static、register和extern的区别
C 语言中的每一个变量和函数有两个属性:数据类型和数据的存储类别。数据类型(整形、字符型等),存储类别是指数据在内存中存储的方法,存储方法有两大类: 静态存储类和动态存储类。具体包括四种:自动的(auto),静态的(static),寄存器的(register)和外部的(extern)。转载 2014-05-12 20:22:40 · 622 阅读 · 0 评论 -
宏与内联函数(1)
第一部分:宏为什么要使用宏呢?因为函数的调用必须要将程序执行的顺序转移到函数所存放在内存中的某个地址,将函数的程序内容执行完后,再返回到转去执行该函数前的地方。这种转移操作要求在转去执行前要保存现场并记忆执行的地址,转回后要恢复现场,并按原来保存地址继续执行。因此,函数调用要有一定的时间和空间方面的开销,于是将影响其效率。而宏只是在预处理的地方把代码展开,不需要额外的空间和时间方面的开转载 2014-05-20 10:30:53 · 565 阅读 · 0 评论 -
内联函数(2)
(转)内联函数(1)什么是内联函数?内联函数是指那些定义在类体内的成员函数,即该函数的函数体放在类体内。(2)为什么要引入内联函数?当然,引入内联函数的主要目的是:解决程序中函数调用的效率问题。另外,前面我们讲到了宏,里面有这么一个例子:#define ABS(x) ((x)>0? (x):-(x))当++i出现时,宏就会歪曲我们的意思,换句话说就是:宏转载 2014-05-20 10:38:19 · 548 阅读 · 0 评论 -
c++primer大纲(第四版)
第1章 快速入门 第一部分 基本语言第2章 变量和基本类型第3章 标准库类型第4章 数组和指针第5章 表达式 第6章 语句第7章 函数第8章 标准IO库 第二部分 容器和算法第9章 顺序容器第10章 关联容器第11章 泛型算法 第三部分 类和数据抽象第12章 类第13章 复制控制第14章 重载操作符与转换 第四部分原创 2014-05-14 21:46:19 · 828 阅读 · 0 评论 -
揭秘 typedef四用途与两陷阱
http://niehan.blog.techweb.com.cn/archives/325.htmltypedef用来声明一个别名,typedef后面的语法,是一个声明。本来笔者以为这里不会产生什么误解的,但结果却出乎意料,产生误解的人不在少数。罪魁祸首又是那些害人的教材。在这些教材中介绍typedef的时候通常会写出如下形式: typedef int PARA; 这种形式跟#def转载 2014-05-25 17:17:40 · 518 阅读 · 0 评论 -
malloc和free函数详解
zhu本文介绍malloc和free函数的内容。 在C中,对内存的管理是相当重要。下面开始介绍这两个函数: 一、malloc()和free()的基本概念以及基本用法:1、函数原型及说明:void *malloc(long NumBytes):该函数分配了NumBytes个字节,并返回了指向这块内存的指针。如果分配失败,则返回一个空指针(NU转载 2014-05-26 10:06:31 · 1162 阅读 · 0 评论 -
各种变量在内存中的高地址低地址问题
测试环境:c++ ,vs2005, release:http://hi.baidu.com/solohac/item/f056894286152793833ae14b先确认一下这里“低地址高地址”的定义,这里并不是指的大端小端中的地址高低,而是内存中的地址,如下: 00421ae0为相对低地址,00421ae8为相对高地址.1.全局变量#incl转载 2014-07-25 09:51:55 · 2851 阅读 · 0 评论 -
C语言中memset函数详解
memset函数将s所指向的某一块内存中的每个字节的内容全部设置为ch指定的ASCII值, 块的大小由第三个参数指定,这个函数通常为新申请的内存做初始化工作, 其返回值为指向S的指针。 【函数头文件】 提示:在linux中可以在terminal中输入 "man memset"进行查询 #include void *memset(void转载 2014-09-03 21:00:22 · 5237 阅读 · 0 评论