[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);通过引用,可以省掉临时对象的生成,复制,析构的消耗,耗时,耗空间。
以上只是我的简单的总结,有不对的地方,请指正,谢谢!
相关文档:
Boss说,要看OpenGL,看了快一个月,总算出了个像样的东西,用C写了个3D迷宫,
虽然只有350行
代码,不过边学边写,足足写了一周时间,还是小有成就感的,活活活!
&n ......
转载自: http://bbs.chinaitlab.com/thread-304041-1-1.html
学习C语言不是一朝一夕的事情,但也不需要花费十年时间才能精通。如何以最小的代价学习并精通C语言是本文的主题。请注意,即使是“最小的代价”,也绝不是什么捷径,而是以最短的时间取得最多的收获,同时也意味着你需要经历艰苦的过程。
一、要读 ......
今天做了ACM1010
代码都对就是怎么也不能AC。那个郁闷啊!一晚上都想那个了。
本来有俩组输入,可是输出的结果就一组。仔细看输入,竟然自动换行了,奇怪,这是咋回事。
猜测可能是读入了换行符。同样的问题这C++中就没有啊!
最后通过加getchar();AC通过。 ......
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 ......