[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 ......
"endian"这个词出自<<格列佛游记>>,小人国的内战就源于吃鸡蛋时是究竟从大头(Big-Endian)敲开还是从小头(Little-Endian)敲开.我们一般将endian翻译成"字节序",将big endian和little endian称作"大端"和"小端".
在计算机科学领域中,字节序是指存放多字节数据的字节的顺序,典型的情况是整数在内存中的存放方式和 ......
本文旨在说明如何利用Flash和C语言制作BS模式下的实时数据动态曲线图,现在流行的实时数据曲线图,大都是采用了CS模式的开发语言,BS模式的虽有一些实例,比如google上的股市曲线图,但其实现的方式和流程在网上很少能见到。
其运行时的界面如下,数据实时更新,曲线图从左往右动态移动:
下面先讲在实现过程中的工作环境 ......
GNU C的一大特色(却不被初学者所知)就是__attribute__机制。__attribute__可以设置函数属性(Function Attribute)、变量属性(Variable Attribute)
和类型属性(Type Attribute)。
__attribute__书写特征是:__attribute__前后都有两个下划线,并切后面会紧跟一对原括弧,括弧里面是相应的__attribute__参数。
__at ......
函数存放在内存的代码区域内,它们同样有地址,我们如何能获得函数的地址呢?
如果我们有一个int test(int a)的函数,那么,它的地址就是函数的名字,这一点如同数组一样,数组的名字就是数组的起始地址。
定义一个指向函数的指针用如下的形式,以上面的test()为例:
int (*fp)(int a);//这里就定义了一个指 ......