[问题]access static variable 的权限问题

楼主: j7210429 (~å½±~)   2016-08-17 01:33:02
各位高手好,我最近时常在面试,职缺为软韧工程师,有一个类型的题目,
不断被问到,考到,但还是不了解真正的答案:
这类题目的核心就在问,对static variable而言,不同的function,block,module对它
存取的权限为何? 首先function,block,module 3者之间真正的定义,我就不太了解了,
但是题目真的就这样问,是不是这3个单字在C里面有很明确的定义呢?谢谢大家。
作者: CoNsTaR ((const *))   2016-08-17 03:29:00
不了解 function 和 block 的定义…还是不要当工程师比较好……
作者: LPH66 (-6.2598534e+18f)   2016-08-17 04:11:00
你先说说你的认知里这三个东西是什么
作者: wtchen (没有存在感的人)   2016-08-17 04:18:00
作者: bluesoul (忙死你老爸)   2016-08-17 06:53:00
module是什么?查了一下是类似于translation unit
楼主: j7210429 (~å½±~)   2016-08-17 11:35:00
我认为整个C里面,只有两种东西,一个是main()function一个是普通的function,main()就是整个程式发动的起点,至于block,module,这几个字虽然常常看到,但还是不很清楚真正的定义,请各位高手可以帮忙一下,谢
作者: bluesoul (忙死你老爸)   2016-08-17 12:02:00
作者: steve1012 (steve)   2016-08-17 20:14:00
Block 应该是指括号{}围起来的地方 module c/c++目前还没有?
作者: yvb   2016-08-17 20:58:00
作者: LPH66 (-6.2598534e+18f)   2016-08-17 23:40:00
module 在 C++ 里面一般是跟 translation unit 差不多一支程式可以有不只一个原始码档案, 每个 .cpp 皆是一个translation unit (翻译单位), 它就是编译时的单位一个 .cpp 编出一个目的档 .o 或 .obj一或多个 .obj 连结而成桯式static 的其中一个用法即是限定此变量限这 TU 存取(题外话, 单讲 module 其实可能指更大的程式模组但因为这里谈的是 static 变量因此指的只是单一 TU 而已)而 block 如其他人所言, 是指 { } 围起来的范围{ } 不只函数有用到, 其他叙述也会出现而且你还能天外飞来一笔直接开一个 { } 出来这个东西跟 static 的交互作用就留给你自己去查了
作者: CoNsTaR ((const *))   2016-08-18 01:47:00
推楼上 不过天外飞来一笔的大括号只能在另一个 block 里出现 XD

Links booklink

Contact Us: admin [ a t ] ucptt.com