易截截图软件、单文件、免安装、纯绿色、仅160KB

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变量 & 常量

  为什么


相关问答:

菜鸟求解:c图形问题

#include <stdio.h>
#include <graphics.h>
void main()
{
  int x0,y0,x1,y1,driver,mode,i;
  driver=VGA;
  mode=VGAHI;
  initgraph(&driver,&mode,&qu ......

C 程序问题 (二) - C/C++ / C语言

问一下:
#include <stdio.h>
int main()
{
  char x, y, z;
  int i;
  int a[16];
  for(i=0; i<=16; i++)
  {
  a[i] = 0;
  ......

C#调用 C DLL问题,懂的来抢分了

//C 接口
extern "C"
{
  TESSDLL_API int __cdecl GetTessText(const char *imagefile, char *text);  
}
//我在C#中声明
//调用C DLL 中的函数
[DllImport("OCRapi.dll&quo ......

用C或C++如何编写求解3D魔方程序 - C/C++ / C++ 语言

请问用C或C++如何编写求解3D魔方的程序,该从何开始?
谢谢各位,帮忙提点建议吧。

http://www.mofang.net/code/176/182/6581.html

我只能突破60秒!唉。

我刚过40秒

google的android中有个OpenGL ES + ......

如何查找系统未安装补丁C - C/C++ / 新手乐园

请问各位高手如何用C/C++获得系统未安装补丁
好像很专业的东西。。。

查注册表
每个补丁如果安装了都会在注册表里面登记

请问能不能更清晰些,我想用c\c++查出来,不好意思,我是新手。还望指教。谢

分值 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号