㈠ c语言里const int 和int 有什么区别,const的作用是什么。
一、区别如下:
1、int定义的量是变量,它的值可以更改;而const int 定义的是一个常量,它的值不可以更改。
2、int在定义的时候,不需要初始化,而const int 在定义的时候必须初始化;
二、const的作用:把对象转换成一个常量
拓展资料
const与define。两者都可以用来定义常量,但是const定义时,定义了常量的类型,所以更精确一些。#define只是简单的文本替换,除了可以定义常量外,还可以用来定义一些简单的函数,有点类似内联函数(Inline)。const和define定义的常量可以放在头文件里面。
㈡ C语言const的这个优点怎么解释
这种说法,个人认为不是很确切,显然没有考虑编译器优化的可能性,const修饰的变量完全有可能被编译器直接优化为常量
另外,那个例子也是完全错误的
这里
double i=Pi; file://此/时为Pi分配内存,以后不再分配!
double I=PI; file://编/译期间进行宏替换,分配内存 (//宏替换,,为啥分配内存?)
double j=Pi; file://没/有内存分配
double J=PI; file://再/进行宏替换,又一次分配内存!
被分配到内存的是变量i I j J,而不是Pi,这里最多只能说这样的做法有可能增大程序本身的大小(注意,只是可能,编译器极有可能优化的)
再次,即便不考虑编译器优化,如果你用const修饰,看似ms是减小了内存的消耗,但是,当你要访问const变量时,你不是还要读取内存么,这就大大降低了程序运行的速度,读取内存的速度可是远远低于直接使用立即数的
㈢ C语言中const的作用
这样想是可以,不过有以下几个问题:
1,通常情况下,项目由几个程序员联合开发,声明为const会告知其他合作者,这个变量不要动。
2,肯定会存在程序员离职交接的情况,这会给后来的程序员带来方便
3,项目的代码可能会很多,使用这个变量的地方可以有很多处,例如几十上百处,你可能会记不住
4,一旦你记不住,或者其他程序员改错了,会导致难以查出的bug。
其实这些都好避免,只要你加一个const,那么对它的赋值都会带来一条编译错误,这样会在程序发布之前就得到解决。问题么,是越早发现越好解决。
你现在也许还是在学习阶段,都是做数十到几百行规模的程序,不过当你将来做几万甚至几十万的规模时,你就会知道,该写而不写const是多么不友好了。
㈣ c语言const关键字的作用
“作用”?问题表述的太不清楚了。试着回答:
作用1:声明一个常量,这个常量在使用时不会被修改。
作用2:常量的作用范围只在其定义的单元内起做用,在定义的程度单元外使用将非法。
㈤ C语言中const是什么意思。。。
const 推出的初始目的,正是为了取代预编译指令,消除它的缺点,同时继承它的优点。
const关键字使用非常的灵活,这一点和php差别很大,php中const用来在类中定义一个常量,而在c中,const因位置不同有不同的作用,因情景不同有不同的角色,使用起来也是非常的灵活。
一、const用来修饰普通的变量(指针变量除外)的时候,const type name 和 type const name 这两种形式是完全等价的,都表示其是常量,不能进行修改。
二、const用来修饰指针变量的时候,分为以下四种情况
1、const type *name :这种情况下,const修饰的指针变量name所指向的type类型对象,也就是说指向的这个对象是不能进行修改的,因为其是常量,而指针变量确实可以进行修改的。
2、type const *name :这种情况下,const修饰的指针变量name所指向的type类型对象,意思完全同上,只是颠倒了以下顺序。
3、type * const name :这种情况下,const修饰的指针变量name,也就是说这个指针变量的值是不能进行修改的,但是指针变量所指向的对象确实可以修改的。
4、const type * const name :这种情况下,const修饰的指针变量name以及指针变量name所指向的对象,也就是说这个指针变量以及这个指针变量所指向的对象都是不能进行修改的。
(5)c语言const作用扩展阅读
使用const在一定程度上可以提高程序的安全性和可靠性。另外,在观看别人代码的时候,清晰理解const所起的作用,对理解对方的程序也有一定帮助。另外CONST在其它编程语言中也有出现,例如Pascal、C++、PHP5、B#.net、HC08 C、C#等。
在c中,对于const定义的指针,不赋初值编译不报错,int* const px;这种定义是不允许的。(指针常量定义的时候对其进行初始化)int const *px;这种定义是允许的。(常指针可以再定义的时候不初始化)
但是,在C++中int* const px;和const int* const px;会报错,const int* px;不报错。必须初始化指针的指向int* const px = &x;const int* const px=&x;强烈建议在初始化时说明指针的指向,防止出现野指针!
㈥ const 什么意思 C语言
上面的不要 再说被const修饰的是常量了好不好,这个名字和它本身的作用和意义差别甚大,某些砖家早起写的东西已经误导了大片的人
下面的内容不是我写的,声明一下
我只要一听到被面试者说:"const意味着常数",我就知道我正在和一个业余者打交道。去年Dan
Saks已经在他的文章里完全概括了const的所有用法,因此ESP(译者:Embedded Systems
Programming)的每一位读者应该非常熟悉const能做什么和不能做什么.如果你从没有读到那篇文章,只要能说出const意味着"只读"就可以了。尽管这个答案不是完全的答案,但我接受它作为一个正确的答案。(如果你想知道更详细的答案,仔细读一下Saks的文章吧。)
如果应试者能正确回答这个问题,我将问他一个附加的问题:
下面的声明都是什么意思?
const int a;
int const a;
const int *a;
int * const a;
int const * a const;
/******/
前两个的作用是一样,a是一个常整型数。第三个意味着a是一个指向常整型数的指针(也就是,整型数是不可修改的,但指针可以)。第四个意思a是一个指向整型数的常指针(也就是说,指针指向的整型数是可以修改的,但指针是不可修改的)。最后一个意味着a是一个指向常整型数的常指针(也就是说,指针指向的整型数是不可修改的,同时指针也是不可修改的)。如果应试者能正确回答这些问题,那么他就给我留下了一个好印象。顺带提一句,也许你可能会问,即使不用关键字
const,也还是能很容易写出功能正确的程序,那么我为什么还要如此看重关键字const呢?我也如下的几下理由:
1)
关键字const的作用是为给读你代码的人传达非常有用的信息,实际上,声明一个参数为常量是为了告诉了用户这个参数的应用目的。如果你曾花很多时间清理其它人留下的垃圾,你就会很快学会感谢这点多余的信息。(当然,懂得用const的程序员很少会留下的垃圾让别人来清理的。)
2)
通过给优化器一些附加的信息,使用关键字const也许能产生更紧凑的代码。
3)
合理地使用关键字const可以使编译器很自然地保护那些不希望被改变的参数,防止其被无意的代码修改。简而言之,这样可以减少bug的出现。
㈦ c语言中const 是什么意思,怎么用,什么时候用
常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。
const 推出的初始目的,正是为了取代预编译指令,消除它的缺点,同时继承它的优点。
㈧ c中const 作用
在c语言中const关键字的作用是限定一个变量不允许被改变,换句话说即定义一个常量,用const定义的常量,一般叫做符号常量,只所以叫做符号常量,就是用符号来表示一个常量的语义。 比如下面的代码:
unsignedlonghash_long(unsignedlongval,unsignedintbits)
{
unsignedlonghash=val*0x9e370001UL;
returnhash>>(32-bits);
}
程序员在读到0x9e370001UL时很难想到这是接近黄金比例的2^32的一个素数。而如果定义成:
constunsignedlongNearest_Prime=0x9e370001UL;//这样就更容易阅读一些
㈨ C语言中的const是神魔意思
const变量是指常量。即恒定的变量,即不可改变的变量。
比如const int a = 10;
那么你在后面就不可以改变a的指。
又比如const int *a;
指的这个指针不会改变它所指向的内容
int b;
再比如int* const a = &b;
指的这个指针只能指向b的地址,而不能是其它地址
㈩ c语言中const是什么有什么用途求解答,谢谢,急!
const是在声明时用来修饰变量的,用于表示此变量无法被修改。比如const int a = 1。