[编辑本段]C中的CONST
C中CONST的使用:
const是一个C语言的关键字,它限定一个变量不允许被改变。使用const在一定程度上可以提高程序的安全性和可靠性,另外,在观看别人代码的时候,清晰理解const所起的作用,对理解对方的程序也有一些帮助。
虽然这听起来很简单,但实际上,const的使用也是c语言中一个比较微妙的地方,微妙在何处呢?请看下面几个问题。
问题:const变量 & 常量
为什么下面的例子在使用一个const变量来初始化数组,ANSI C的编译器会报告一个错误呢?
const int n = 5;
int a[n];
...


- [biaggi] 下載不了,了已經,,,,, 11/06 08:20
- [游客] 谢谢,我一定会好好学习的. 07/05 12:12
- [jlzh155] 学习了,谢谢分享 11/01 09:35
- [dsk23d] 谢谢了 12/17 14:59
- [lizhi] 谢谢啊。 11/30 22:11
- [hide2may] 感谢。开始学习汇编。 09/11 22:54
- [scruo] 强烈感谢楼主!!!!谢谢!!! 06/04 13:22
- [游客] 楼主,太感谢了 05/23 21:24
- [游客] 楼主,好人啊 05/18 11:47
- [azik2011] up主果然是热心人士,感激不尽~~~~~~~~~~~~~~~~学习了 03/13 09:34
- [linghulg] 谢谢! 02/23 13:01
- [jizha] 明天就过年了,crazyman,祝你新年快乐! 非常感谢你曾经给我的那些帮助! 祝好人一生平安! 01/24 13:22
- [dongliang] 下面两条指令在DEBUG中运行时,弹出无效指令对话框,什么意思啊?我并没有修改中断例程.. 01/08 13:19
- [dongliang] 你好,麻烦你把王爽的汇编第二版发给我好吗? 我到你的链接上去找了,但下不来,所以只能来找你了 谢谢 12/04 18:42
- [hualongmian] 呵呵~谢谢哈! 05/26 14:15
- [xxtb] 加油! 05/15 19:04
- [sky7] 谢谢7! 03/26 17:32
[2009-05-07 12:26] CONST
[2009-04-20 16:38] 显示图形如何避免闪烁
显示图形如何避免闪烁,如何提高显示效率是问得比较多的问题。
而且多数人认为MFC的绘图函数效率很低,总是想寻求其它的解决方案。
MFC的绘图效率的确不高但也不差,而且它的绘图函数使用非常简单,
只要使用方法得当,再加上一些技巧,用MFC可以得到效率很高的绘图程序。
我想就我长期(呵呵当然也只有2年多)使用MFC绘图的经验谈谈
我的一些观点。
1、显示的图形为什么会闪烁?
我们的绘图过程大多放在OnDraw或者OnPaint函数中,OnDraw在进行屏
幕显示时是由OnPaint进行调用的。当窗...
而且多数人认为MFC的绘图函数效率很低,总是想寻求其它的解决方案。
MFC的绘图效率的确不高但也不差,而且它的绘图函数使用非常简单,
只要使用方法得当,再加上一些技巧,用MFC可以得到效率很高的绘图程序。
我想就我长期(呵呵当然也只有2年多)使用MFC绘图的经验谈谈
我的一些观点。
1、显示的图形为什么会闪烁?
我们的绘图过程大多放在OnDraw或者OnPaint函数中,OnDraw在进行屏
幕显示时是由OnPaint进行调用的。当窗...
[2009-04-03 14:59] TC2中的argv和argc
每一C 程序都必须有一个main()函数,作为整个程序的入口,可以根据自己的爱好把它放在程序的任何地方。
有些程序员把它放在最前面,而另一些程序员把它放在最后面,无论放在哪个地方,以下几点说明都是适合的。
在Turbo C2.0启动过程中,传递main()函数三个参数:argc,argv和env。
* argc: 整数,为传给main()的命令行参数个数。(argument count)
* argv: 字符串数组。
在DOS 3.X 版本中,argv[0] 为程序运行的全路径名;
对DOS 3.0 以下的版本,argv[0]为空串("") 。
argv[1] ...
有些程序员把它放在最前面,而另一些程序员把它放在最后面,无论放在哪个地方,以下几点说明都是适合的。
在Turbo C2.0启动过程中,传递main()函数三个参数:argc,argv和env。
* argc: 整数,为传给main()的命令行参数个数。(argument count)
* argv: 字符串数组。
在DOS 3.X 版本中,argv[0] 为程序运行的全路径名;
对DOS 3.0 以下的版本,argv[0]为空串("") 。
argv[1] ...
[2009-03-24 23:34] 汇编错误集锦
0
Block nesting error
嵌套出错.嵌套的过程,段,结构,宏指令或重复块等非正常结束.例如在嵌套语句中有外层的结束语句,而无内层的结束语局
1
Extra characters on line
一语句行有多余字符,可能是语句中给出的参数太多
2
Internal error-Register already defined
这是一个内部错误.如出现该错误,请记下发生错误的条件,并使用Product Assistance Request 表与Microsoft公司联系
3
Unkown type specifer
未知的类型说明符.例如类型字符拼错,把BY...
Block nesting error
嵌套出错.嵌套的过程,段,结构,宏指令或重复块等非正常结束.例如在嵌套语句中有外层的结束语句,而无内层的结束语局
1
Extra characters on line
一语句行有多余字符,可能是语句中给出的参数太多
2
Internal error-Register already defined
这是一个内部错误.如出现该错误,请记下发生错误的条件,并使用Product Assistance Request 表与Microsoft公司联系
3
Unkown type specifer
未知的类型说明符.例如类型字符拼错,把BY...
阅读全文 |
作者:wangping198611 |
评论次数(1) |
浏览次数(1134)
[2009-01-25 11:20] _BSS BSS (摘录)
是“Block Started by Symbol”的缩写,意为“以符号开始的块”。
BSS是Unix链接器产生的未初始化数据段。其他的段分别是包含程序代码的“text”段和包含已初始化数据的“data”段。BSS段的变量只有名称和大小却没有值。此名后来被许多文件格式使用,包括PE。“以符号开始的块”指的是编译器处理未初始化数据的地方。BSS节不包含任何数据,只是简单的维护开始和结束的地址,以便内存区能在运行时被有效地清零。BSS节在应用程序的二进制映象文件中并不存在。
在采用段式内存管理的架构中(比如intel的80x86系统),bss段(Block Started by S...
BSS是Unix链接器产生的未初始化数据段。其他的段分别是包含程序代码的“text”段和包含已初始化数据的“data”段。BSS段的变量只有名称和大小却没有值。此名后来被许多文件格式使用,包括PE。“以符号开始的块”指的是编译器处理未初始化数据的地方。BSS节不包含任何数据,只是简单的维护开始和结束的地址,以便内存区能在运行时被有效地清零。BSS节在应用程序的二进制映象文件中并不存在。
在采用段式内存管理的架构中(比如intel的80x86系统),bss段(Block Started by S...
[2008-04-30 10:04] 闲扯原码、反码、补码
闲扯原码、反码、补码
相信大家看到这个标题都不屑一顾,因为在任何一本计算机基础知识书的第一章都有他们的解释,但是在书上我们只能找到一些简单的定义,没次看过之后不久就忘了。最近论坛里有人问起这些概念,看到很多人的回复是以前看过现在忘了去看看某某书之类,很少有给出一个合理的解释。于是本人就开始思考(虽然上帝会发笑,我还是要思考。),于是得出了以下的结论。
数值在计算机中表示形式为机器数,计算机只能识别0和1,使用的是二进制,而在日常生活中人们使用的是十进制,"正如亚里士多德早就指出的那样,今天十进制的广泛采用,只不过我们绝大多数人生来具有10个手指头这个解剖学事实的...
相信大家看到这个标题都不屑一顾,因为在任何一本计算机基础知识书的第一章都有他们的解释,但是在书上我们只能找到一些简单的定义,没次看过之后不久就忘了。最近论坛里有人问起这些概念,看到很多人的回复是以前看过现在忘了去看看某某书之类,很少有给出一个合理的解释。于是本人就开始思考(虽然上帝会发笑,我还是要思考。),于是得出了以下的结论。
数值在计算机中表示形式为机器数,计算机只能识别0和1,使用的是二进制,而在日常生活中人们使用的是十进制,"正如亚里士多德早就指出的那样,今天十进制的广泛采用,只不过我们绝大多数人生来具有10个手指头这个解剖学事实的...
[2008-02-29 09:24] 学习术【转自汇编-宗师级作战群】
那天,公司要宴请一位重要的客户,我和杨还有另一位同事,奉命前去作陪。我们离开办公室,杨一边走,一边拿出手机打电话,向夫人请假。
“喂,今晚有事不回家吃饭了。”
“你早干什么去了?怎么不早说呀!饭都做好了!你以为你是谁呀!以后别回来了!以后不伺候了!”
电话那端,传来气势汹汹的声音,声音很大,我和旁边的同时都听到了。我们看着他,他不好意思地笑笑,对着电话继续说道:“公司临时有事,我也是才知道。我知道你是心疼我,我没事,你放心。我不会喝多的。好,就这样,你早点休息,不用等我,我尽量早点回去。”
走出办公楼,同时去开车,我们俩在门前等着。我看看他:“你脾气真好,刚才她那么发火...
“喂,今晚有事不回家吃饭了。”
“你早干什么去了?怎么不早说呀!饭都做好了!你以为你是谁呀!以后别回来了!以后不伺候了!”
电话那端,传来气势汹汹的声音,声音很大,我和旁边的同时都听到了。我们看着他,他不好意思地笑笑,对着电话继续说道:“公司临时有事,我也是才知道。我知道你是心疼我,我没事,你放心。我不会喝多的。好,就这样,你早点休息,不用等我,我尽量早点回去。”
走出办公楼,同时去开车,我们俩在门前等着。我看看他:“你脾气真好,刚才她那么发火...
[2008-02-25 10:24] 批处理文件的格式[转]
echo 表示显示此命令后的字符
echo off 表示在此语句后所有运行的命令都不显示命令行本身
@与echo off相象,但它是加在每个命令行的最前面,表示运行时不显示这一行的命令行(只能影响当前行)。
call 调用另一个批处理文件(如果不用call而直接调用别的批处理文件,那么执行完那个批处理文件后将无法返回当前文件并执行当前文件的后续命令)。
pause 运行此句会暂停批处理的执行并在屏幕上显示Press any key to continue...的提示,等待用户按任意键后继续
rem 表示此命令后的字符为解释行(注释),不执行,只是给自己今后参考用的(相当于程...
echo off 表示在此语句后所有运行的命令都不显示命令行本身
@与echo off相象,但它是加在每个命令行的最前面,表示运行时不显示这一行的命令行(只能影响当前行)。
call 调用另一个批处理文件(如果不用call而直接调用别的批处理文件,那么执行完那个批处理文件后将无法返回当前文件并执行当前文件的后续命令)。
pause 运行此句会暂停批处理的执行并在屏幕上显示Press any key to continue...的提示,等待用户按任意键后继续
rem 表示此命令后的字符为解释行(注释),不执行,只是给自己今后参考用的(相当于程...
页码数(1):
1