热门面试题与答案和在线测试
面向面试准备、在线测试、教程与实战练习的学习平台

通过聚焦学习路径、模拟测试和面试实战内容持续提升技能。

WithoutBook 将分主题面试题、在线练习测试、教程和对比指南整合到一个响应式学习空间中。

面试准备

Language in C 面试题与答案

Question: If we have declared an array as global in one file and we are using it in another file then why doesn't the sizeof operator works on an extern array?

Answer: An extern array is of incomplete type as it does not contain the size. Hence we cannot use sizeof operator, as it cannot get the size of the array declared in another file. To resolve this use any of one the following two solutions:
1. In the same file declare one more variable that holds the size of array. For example,

array.c

int arr[5] ;
int arrsz = sizeof ( arr ) ;

myprog.c

extern int arr[] ;
extern int arrsz ;
2. Define a macro which can be used in an array
declaration. For example,

myheader.h

#define SZ 5

array.c

#include "myheader.h"
int arr[SZ] ;

myprog.c

#include "myheader.h"
extern int arr[SZ] ;

保存以便复习

收藏此条目、标记为困难题,或将其加入复习集合。

打开我的学习资料库
这有帮助吗?

用户评价最有帮助的内容:

版权所有 © 2026,WithoutBook。