本文章有,共同編輯與時常更新的版本,會寫在 hackmd 上面
C 語言
Pointer
Pointer of variable
- A variable hold the address (一個指向某個儲存位址的變數)
Example:
int val = 10;
int * prt = &val
詳細可以參考 Mr. Open Gate 的文章 C/C++ - 常見 C 語言觀念題目總整理(適合考試和面試)
Array and Pointer 的關係
在 C 語言中,處理字串一定會牽扯到 char pointer ,在基礎處理上要很注意
- https://www.geeksforgeeks.org/difference-pointer-array-c/
- https://www.geeksforgeeks.org/pointer-vs-array-in-c/
Function Pointer
- 設計目的:
- can be used to simplify code by providing a simple way to select a function to execute based on run-time values. Function Pointer, wiki
變數範圍 Variable scope 和 生命週期 Variable life time
- 常見有 local, static, global 被宣告為 static 的 variable 有效的生命週期是『只要在程式還在執行都可以使用』,範圍只有在宣告的區域(Ex: function) 才能被存取
詳細可以參考 Scope and Lifetime of Variables in C
Declaration and Definition 差別
記憶體配置 Memory allocation
請參考 Mr. Open Gate 的文章 [C/C++ - 常見 C 語言觀念題目總整理(適合考試和面試)] 的 [用心去感覺] 記憶體的配置
Struct Memory with Compiler Optimization
Source code 如何被 compile 成執行檔
可以參考一下投影片『How A Compiler Works: GNU Toolchain』,至少有概念就好(p9~p14)
C++ Object-Oriented Programming
Encapsulation
Access modifier
- public
- private
- protect: can be access by derived class
Inheritance
Polymorphism
- virtual function
Commonly Asked OOP Interview Questions | Set 1
Main References
-
Interview Problems
-
Reading Material
-
Tutorial Material