c语言中i+是什么意思
发布时间:2025-05-13 21:54:52 发布人:远客网络
一、c语言中i+是什么意思
“+”是加法运算符,如楼主所说的光一个“i+”时有问题的,但是楼主你不能孤立的去看问题,你要看这个玩意所处的地方。有这么几种情况:
i+N;//N为一个常数或一个变量,你就当这个为加法就行了,小学最初的数学课学过了。
i++;//这个是自增运算符,实现的功能是“i=i+1”,就是变量i加1.
i+=N;//这个就是一个赋值运算符了,实现的功能是“i=i+N”,就是给变量i赋值(i+N).
二、c语言中++ i的用法是什么啊
i++的用法:以 a=i++,i=2为例:先将 i值赋给变量 a(也就是 a=i),然后 i值加 1(也就是 i=i+1),则最终 a值等于 2,i值等于 3。
++i与 i++单独使用时,相当于 i=i+1。如果赋给一个新变量,则++i先将 i值加 1,而 i++先将 i赋给新变量。++i的效率更高;i++(在C++中)在实现的时候,系统会产生一个 local object class INT的临时变量用于存储原有的数据供返回值用。
1、在不考虑编译器优化的条件下,前缀(++i)比后缀(i++)要少一步开辟临时变量的操作,所以前缀效率更高。
2、对于内置数据类型,由于编译器优化的原因,前缀和后缀的效率没什么差别。
3、例如:对于 int型变量,编译器可以优化掉开辟临时变量这份多余的工作。
三、c语言i++与i+的区别是什么
++i是先加后赋值;i++是先赋值后加;++i和i++都是分两步完成的。
因为++i是后面一步才赋值的,所以它能够当作一个变量进行级联赋值,++i=a=b,即++i是一个左值;i++的后面一步是自增,不是左值。
形象的理解可以是i++先做别的事,再自己加1,++i先自己加1,再做别的事情。
比如i=3,b=i++就是说b=3,完成之后让i变成4,b=++i就是先让i++变成4,然后b=4,其中++i比i++效率要高些。一般来说在循环域里面,这两者并没有什么很大的区别,但是要注意其生存周期,以及i值在程序流中的变化。
1、C语言是一个有结构化程序设计、具有变量作用域(variable scope)以及递归功能的过程式语言。
2、C语言传递参数均是以值传递(pass by value),另外也可以传递指针(a pointer passed by value)。
3、不同的变量类型可以用结构体(struct)组合在一起。
4、只有32个保留字(reserved keywords),使变量、函数命名有更多弹性。
5、部分的变量类型可以转换,例如整型和字符型变量。
6、通过指针(pointer),C语言可以容易地对存储器进行低级控制。
7、预编译处理(preprocessor)让C语言的编译更具有弹性。