C語言學習筆記(3)

來源:互聯網
上載者:User

1. typedef

在前文中,我們用宏定義來定義了一個BOOL類型,那麼現在就用更專業的方式來定義類型。

typedef int Bool;

int main (void)
{
Bool flag=1;
if(flag)
{
printf("True");
}
else
{
printf("false");
}
}

typedef 的作用就是類型定義(Type Definition)。

類型定義有以下三個優點:

1. 易於閱讀。比如我們可以把定義一個Dollar,然後Dollar money=1000;這樣比用int來得更容易閱讀。

2. 容易修改,如果有一天Dollar要改成double類型,那麼我只需要修改類型定義就可以了。

3. 便於移植。在上文中,我們說過C語言是平台相關的,那麼我們不妨定義一些Int32,Int64,這樣當我們移植時,我們只需要修改這些類型定義就可以了。

那麼類型定義較之宏定義有兩個優點:

A. 類型定義更為強大,特別是,數組和指標類型是不能定義為宏的。

B. 在作用上,宏定義只是簡單的字串替換,而類型定義卻帶有一定的封裝性。

2. sizeof運算子

這個運算子很簡單,就不贅述了,只強調一點。由於sizeof運算子返回的類型時size_t,這是一種自訂的類型,因此,為了防止不同的平台造成的不相容問題。我們最好在顯示前將其進行一次類型轉換。

int main (void)
{
printf("%d",(int)sizeof(int));
}

 

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.