下列说法正确的是( )。

admin2020-07-28  35

问题 下列说法正确的是(    )。

选项 A、auto和register将声明的对象说明为自动存储类对象,这些对象可用在函数中或函数外
B、将变量其定义为static类型,则其初值默认为随机值
C、typedef说明符并不会为对象预留存留空间
D、如果一个对象被声明为register,则对它应用一无运算符&,意在取得其存储的地址

答案C

解析 ①这种声明也具有定义的作用,并将预留存储空间。register说明的声明等价于auto说明的声明,所不同的是,register暗示了声明的对象将被频繁地访问,将尽可能存储在寄存器中。如果一个对象被声明为register,则将不能对它应用一元运算符&,声明为register但实际按照auto类型处理的对象的地址进行计算是非法的。②static将声明的对象说明为静态存储类。这种对象可以用在函数内部或者函数外部。在函数内部,该说明符将引起存储空间的分配,具有定义的作用。在函数外部,该说明符将引起声明对象为具有内部链接。另外,若将其定义为static类型,则其初值默认为0。③函数内部的extern声明表明,被声明的对象的存储空间定义在其他地方。在函数外部,说明声明的对象具有外部链接。④typedef说明符并不会为对象预留存留空间。
转载请注明原文地址:https://jikaoti.com/ti/MID0FFFM
0

最新回复(0)