单选题
1、第173题 (1.0分) 题号:660 在C语言中,函数的隐含存储类别是()。
A
auto
B
static
C
extern
D
无存储类别
答案解析
正确答案:C
解析:
在 C 语言中,存储类别(Storage Class)决定了变量或函数的生命周期、作用域以及链接属性。对于**函数**而言,其默认的隐含存储类别是 `extern`。
以下是详细解析:
1. **函数的默认链接属性**:
在 C 语言中,如果你定义一个函数时没有显式指定存储类别说明符(如 `static`),编译器默认该函数具有**外部链接(External Linkage)**。这意味着该函数不仅可以被当前源文件中的其他函数调用,也可以被其他源文件通过声明后调用。这种外部链接性对应的存储类别说明符就是 `extern`。
2. **选项分析**:
* **A. auto**:`auto` 是局部变量的默认存储类别,用于修饰在函数内部定义的自动变量。它不能用于修饰函数。
* **B. static**:如果函数被声明为 `static`,则它具有**内部链接(Internal Linkage)**,意味着该函数只能在定义它的源文件内部使用,对其他源文件不可见。这不是默认的隐含类别,需要显式指定。
* **C. extern**:这是函数的默认存储类别。即使你不写 `extern`,编译器也视其为 `extern`。例如,`void func()` 等价于 `extern void func()`。
* **D. 无存储类别**:C 语言中每个标识符都有确定的存储类别,不存在“无存储类别”的说法。
3. **补充说明**:
需要注意的是,`auto` 仅适用于局部变量;`register` 也仅适用于局部变量和形式参数;`static` 和 `extern` 既可用于变量也可用于函数。但对于**全局函数**来说,默认的、隐含的类别始终是 `extern`。
因此,正确答案是 **C**。
题目纠错
c语言选择判断题库
相关题目
单选题
1、第86题 (1.0分) 题号:610 以下选项中,与k=n++完全等价的表达式是()。
单选题
1、第85题 (1.0分) 题号:103 以下运算符中,优先级最高的运算符是()。
单选题
1、第84题 (1.0分) 题号:180 以下函数调用语句中实参的个数是()。 func((e1,e2),(e3,e4,e5));
单选题
1、第83题 (1.0分) 题号:123 执行下列程序后,其输出结果是()。
单选题
1、第82题 (1.0分) 题号:736 以下叙述中错误的是()。
单选题
1、第81题 (1.0分) 题号:592 能正确表示逻辑关系:”a≥10或a≤0”的C语言表达式是()。
单选题
1、第80题 (1.0分) 题号:732 若执行fopen函数时发生错误,则函数的返回值是()。
单选题
1、第79题 (1.0分) 题号:720 函数 rewind 的作用是()。
单选题
1、第78题 (1.0分) 题号:503 以下语句中,不能实现回车换行的是()。
单选题
1、第77题 (1.0分) 题号:541 若有int i=3,*p;p=&i;下列语句中输出结果为3的是()。
