c和c++中的const的区别
先看一个程序
#include <stdio.h>
int main()
{
const int a = 5;
int b[a];
return 0;
}
在vc6.0中命名为.c文件,编译会出错,是int b[a]这一行:expected constant expression
命名为.cpp文件,没问题。
在codeblocks(一个免费开源的编译器)中编译都没问题
还有一个程序
#include <stdio.h>
int main()
{
const int a = 5;
int b = 4;
switch (b)
{
case 3:
case a:
case 4:
printf("asdf");
break;
}
return 0;
}
在vc6.0中命名为.c文件,编译会出错,是case a:这一行:case expression not constant
命名为.cpp文件,没问题。
在codeblocks中新建c工程文件编译会出错,新建c++工程文件不会出错。
从上面两个例子是不是说在c中用const定义的a是一个只读的变量,而在c++中用const定义的a被当成一个常量了?
Chiyer】:
const是一个C语言的关键字,它限定一个变量不允许被改变。使用const在一定程度上可以提高程序的健壮性,另外,在观看别人代码的时候,清晰理解const所起的作用,对理解对方的程序也有一些帮助。
虽然这听起来很简单,但实际上,const的使用也是c语言中一个比较微妙的地方,微妙在何处呢?请看下面几个问题。
问题:const变量 & 常量
为什么
相关问答:
#include <stdio.h>
#include <graphics.h>
void main()
{
int x0,y0,x1,y1,driver,mode,i;
driver=VGA;
mode=VGAHI;
initgraph(&driver,&mode,&qu ......
问一下:
#include <stdio.h>
int main()
{
char x, y, z;
int i;
int a[16];
for(i=0; i<=16; i++)
{
a[i] = 0;
......
//C 接口
extern "C"
{
TESSDLL_API int __cdecl GetTessText(const char *imagefile, char *text);
}
//我在C#中声明
//调用C DLL 中的函数
[DllImport("OCRapi.dll&quo ......
请问用C或C++如何编写求解3D魔方的程序,该从何开始?
谢谢各位,帮忙提点建议吧。
http://www.mofang.net/code/176/182/6581.html
我只能突破60秒!唉。
我刚过40秒
google的android中有个OpenGL ES + ......
请问各位高手如何用C/C++获得系统未安装补丁
好像很专业的东西。。。
查注册表
每个补丁如果安装了都会在注册表里面登记
请问能不能更清晰些,我想用c\c++查出来,不好意思,我是新手。还望指教。谢
分值 ......