[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++的文件操作中有,有一个类对文件操作进行操作,即CFile,下面就写一段代码,来简单的进行介绍。
CFile cf;
char zhi[]={1,2};
&n ......
今天做了ACM1010
代码都对就是怎么也不能AC。那个郁闷啊!一晚上都想那个了。
本来有俩组输入,可是输出的结果就一组。仔细看输入,竟然自动换行了,奇怪,这是咋回事。
猜测可能是读入了换行符。同样的问题这C++中就没有啊!
最后通过加getchar();AC通过。 ......
#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 ......
#include <stdio.h>
int main()
{
int i = 1;
int j = 0;
int k = 0;
for(;i<6;i++)
{
k = i;
for(j = 0;j<i;j++,k++)
{
printf("%d ",k);
}
printf("\n");
}
}
很简单的程序,看有人问,就洗饿了放到这了。。。
行列都很有规律。。。。
两个循环。。。
运行结果 ......