[英]how typedef works internally (at compiler level)?
我最近在一次采訪中遇到了這個問題。 他們問我,當我們使用 Typedef(如 typedef unsigned char CHAR)創建新的用戶定義類型時,內部會發生什么?
在內部不會發生任何事情,因為它只是編譯器的信息,您為另一種類型引入了一些別名。
根據 C 標准(6.7.8 類型定義)
- ... typedef 聲明不會引入新類型,而只是所指定類型的同義詞。
考慮到與 C 中的 C++ 相反,沒有用戶定義類型這樣的概念。 C 標准沒有使用這樣的術語。
要定義用戶類型,您必須指定其行為。 C 語言不允許指定類型的行為。:)
至於“內存級別”,那么唯一的后果是您可以忘記這個 typedef 別名表示的實際類型。:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.