[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);通过引用,可以省掉临时对象的生成,复制,析构的消耗,耗时,耗空间。
以上只是我的简单的总结,有不对的地方,请指正,谢谢!
相关文档:
3: int main()
4: {
5: int i = 1,j;
6: union test{
7: int m;
8: ......
通过前面两篇,相信大家已经基本了解了我们的研究思路。既然是研究,那么必须的研究工具就得熟练掌握了。这里我所指的研究工具就是VC,我所使用的VC版本是2005。本文也将根据VC2005进行探讨。可能很多朋友或者初学者还是使用的VC6.0。在这里本人不推荐使用VC6.0。原因很简单,VC6.0已经过时了,后面的版本比VC6.0更强大方便 ......
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 ......
#include <windows.h>
#include <stdio.h>
void FindFileInDir(char* rootDir, char* strRet)
{
char fname[256];
ZeroMemory(fname,256);
WIN32_FIND_DATA fd;
ZeroMemory(&fd, sizeof(WIN32_FIND_DATA));
HANDLE hSearch;
char filePathName[256];
char tmpPath[256];
ZeroMemory(filePathNa ......