Advertisement

C语言练习182-(第21题)

阅读量:

1. 全局常量可以在全部工程范围内使用, 而 **** 全局静态变量仅限于其定义所在的源文件中.

2.关于C语言中volatile(易变)关键字,下面的说法哪一个是错误的?

A. 编译器不允许对具有volatile修饰的变量进行读写优化
B. 具有volatile修饰的变量在读取时速度更快
C. 每次操作具有volatile修饰的变量都会从内存中取出数据

volatile告诉编译器它后面所定义的变量随时可能会发生更改。
因此,在编译后的程序中,
每当需要访问该变量时,
都会直接从其地址中读取数据。
如果没有volatile关键字,
编译器可能会进行一些优化,
例如暂时将值保存在寄存器中。
如果该变量被其他程序更新了,
就会导致数据不一致的情况发生。

3.函数的形参在函数未调用时不会分配存贮空间

4.在全局变量定义之前是无法引用全局变量的,这句话为什么错?

答案:

5. 在编写C程序时,在函数定义中未做说明的情况下,默认视为extern;因此,在编写C文件时(尤其是不需要对外提供接口的情况),需要在其前面添加static修饰符。

**6.无需在C语言中进行强制类型转换,在C中从void _到其他类型的指针会进行自动的隐式转换。
在c++中没有支持void_类型隐式转为其他类型的指针的情况,因此需要在使用mallo

全部评论 (0)

还没有任何评论哟~