[問題]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