C语⾔中存储类别⼜分为四类:⾃动(auto)、静态
(static)、寄存器的(regist。。。
除法运算中注意:
如果相除的两个数都是整数的话,则结果也为整数,⼩数部分省略,如8/3 = 2;⽽两数中有⼀个为⼩数,结果则为⼩数,如:9.0/2 =
4.500000。
取余运算中注意:
该运算只适合⽤两个整数进⾏取余运算,如:10%3 = 1;⽽10.0%3则是错误的;运算后的符号取决于被模数的符号,如(-10)%3 = -1;⽽10% (-3) = 1。
--
C语⾔中存储类别⼜分为四类:⾃动(auto)、静态(static)、寄存器的(register)和外部的(extern)。
1、⽤关键字auto定义的变量为⾃动变量,auto可以省略,auto不写则隐含定为“⾃动存储类别”,属于动态存储⽅式
2、⽤static修饰的为静态变量,如果定义在函数内部的,称之为静态局部变量;如果定义在函数外部,称之为静态外部变量。如下为静态局部变量:
注意:静态局部变量属于静态存储类别,在静态存储区内分配存储单元,在程序整个运⾏期间都不释放;静态局部变量在编译时赋初值,即只赋初值⼀次;如果在定义局部变量时不赋初值的话,则对静态局部变量来说,编译时⾃动赋初值0(对数值型变量)或空字符(对字符变量)。
3、为了提⾼效率,C语⾔允许将局部变量得值放在CPU中的寄存器中,这种变量叫“寄存器变量”,⽤关键字register作声明。例如:
注意:只有局部⾃动变量和形式参数可以作为寄存器变量;⼀个计算机系统中的寄存器数⽬有限,不能定义任意多个寄存器变量;局部静态变量不能定义为寄存器变量。
4、⽤extern声明的的变量是外部变量,外部变量的意义是某函数可以调⽤在该函数之后定义的变量。
在C语⾔中不能被其他源⽂件调⽤的函数称谓内部函数,内部函数由static关键字来定义,因此⼜被称谓静态函数,形式为:
static [数据类型] 函数名([参数])static修饰的变量
这⾥的static是对函数的作⽤范围的⼀个限定,限定该函数只能在其所处的源⽂件中使⽤,因此在不同⽂件中出现相同的函数名称的内部函数是没有问题的。
在C语⾔中能被其他源⽂件调⽤的函数称谓外部函数,外部函数由extern关键字来定义,形式为:
extern [数据类型] 函数名([参数])
C语⾔规定,在没有指定函数的作⽤范围时,系统会默认认为是外部函数,因此当需要定义外部函数时extern也可以省略。
在声明数组后没有进⾏初始化的时候,静态(static)和外部(extern)类型的数组元素初始化元素为0,⾃动(auto)类型的数组的元素初始化值不确定。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论