易截截图软件、单文件、免安装、纯绿色、仅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/C++可变参数表的深层探索


引言
  C/C++语言有一个不同于其它语言的特性,即其支持可变参数,典型的函数如printf、scanf等可以接受数量不定的参数。如:
printf ( "I love you" ); 
printf ( "%d", a );
printf ( "%d,%d", a, b );
  第一、二、三个printf分别接受1、2、3个参数,让我们看看printf函数的原型:
int printf ( const ......

keil c union 存储的问题

     3: int main()
     4: {
     5:    int i = 1,j;
     6:    union test{
     7:       int m;
     8:  ......

Linux下C语言编程的注意事项


http://os.51cto.com  2008-03-21 11:15  佚名  赛迪网
摘要:学会使用vim/emacs,vim/emacs是linux下最常用的源码编辑器,不光要学会用它们编辑源码,还要学会用它们进行查找、定位、替换等。新手的话推荐使用vim,这也是我目前使用的文本编辑器。
标签:Linux  C语言  编程
Or ......

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 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号