易截截图软件、单文件、免安装、纯绿色、仅160KB

[C]C语言基础巩固专题 const

const 是在程序中非常重要。在这里我做一下简单的介绍。
1.const 基础
  const有两种形式:
  a) const Type var;
     如:int a =10;const int * var=&a; 那么var就是常量指针,表明是指向常量的指针,也就是说a的值不能改变。
       
  b) Type const var;
     如 int * const var; var 叫做指针常量,指针是常量,表明var内存放的地址不能变。
      
下面介绍const 的作用
2. 定义常量。
   const int p=10;
   p在程序中就不能修改了。
  与#define 定义常量相比,它有以下不同:
   a) define 在预处理阶段展开;const 是编译运行时使用
   b) definde 无类型,不进行类型检查;const 有数据类型,做类型检查,安全性高。
   c) define 仅仅是展开,不分配内存;const 常量有分配,一般分配在常量区。
3.修饰函数的参数,返回值。
  修饰值:
  void function(const int a):a 的值不变,对于该函数好像意义不大,所以这种方式很少用。
  修饰指针:
  void function(const char * p):表明不能修改参数的值,
  int strcpy(char * dst,const char * src);就是一个很明显的例子,要就在复制的时候不改变原来src的值。
  修饰引用:
   void function(const Class & a);通过引用,可以省掉临时对象的生成,复制,析构的消耗,耗时,耗空间。
 以上只是我的简单的总结,有不对的地方,请指正,谢谢!
 
 
   


相关文档:

用C写的3D迷宫

          Boss说,要看OpenGL,看了快一个月,总算出了个像样的东西,用C写了个3D迷宫,
虽然只有350行
       代码,不过边学边写,足足写了一周时间,还是小有成就感的,活活活!
         &n ......

c/c++语言问题中可变参数


 va_list是c/c++语言问题中解决可变参数的一组宏.先来看一个程序例子吧.
view plaincopy to clipboardprint?
#include <stdarg.h>   
/** 函数名:max  
  * 功能:返回n个整数中的最大值  
  *  参数:num:整数的个数 . ......

C multi line macro: do/while(0) vs scope block

http://docs.google.com/View?docid=ajbgz6fp3pjh_2dwwwwt#_38239340844832237
It is not about optimization.
The whole idea of using 'do/while' version
is to make a macro which will
expand into a regular statement, not into a
compound statement. This is
done in order to make the use of function-s ......

用c写个控制台下的进度条

最近想写个控制台下的进度条,可以知道程序的进展情况,不用弄个界面。其中最主要的就是“\b“字符,它的ascii码值是10,是退格的意思。
现把代码贴上,如下(可以在vc和linux编译):
progress.c
#include <stdio.h>
#ifdef _WIN32
#include <windows.h>
#define mysleep(n) Sleep(n*1000)
......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号