簡體   English   中英

typedef 如何在內部工作(在編譯器級別)?

[英]how typedef works internally (at compiler level)?

我最近在一次采訪中遇到了這個問題。 他們問我,當我們使用 Typedef(如 typedef unsigned char CHAR)創建新的用戶定義類型時,內部會發生什么?

在內部不會發生任何事情,因為它只是編譯器的信息,您為另一種類型引入了一些別名。

根據 C 標准(6.7.8 類型定義)

  1. ... typedef 聲明不會引入新類型,而只是所指定類型的同義詞。

考慮到與 C 中的 C++ 相反,沒有用戶定義類型這樣的概念。 C 標准沒有使用這樣的術語。

要定義用戶類型,您必須指定其行為。 C 語言不允許指定類型的行為。:)

至於“內存級別”,那么唯一的后果是您可以忘記這個 typedef 別名表示的實際類型。:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM