一文搞懂C语言typedef关键字
生活随笔
收集整理的這篇文章主要介紹了
一文搞懂C语言typedef关键字
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
一、typedef VS #define
在開始說明typedef關鍵字之前,我想先試著區(qū)分一下typedef和define宏定義。例如:
/*#define 形式*/ #define COUNT int /*typedef形式 */ typedef int COUNT;typedef與**#define**有相似之處,上述兩條語句的作用都是用COUNT代替int。但是事實上,他們二者是不同的。#define 是在預編譯時處理的,它只能做簡單的字符串替換,二typedef是在編譯時處理的,實際上,它并不是作簡單的字符串替換,而是采用如同定義變量的方法那樣來聲名一個類型。
- 案例1:
- 案例2:
案例2雖然也能編譯成功,但是會出現(xiàn)這樣一個警告,大意就是b是指針變量,而c是一個int變量,兩種不同類型的變量理論上是不能賦值的!
- 但為什么會出現(xiàn)警告呢?
- 因為#define只是單純地進行文本替換,所以PCOUNT<=>int*,PCOUNT b,c<=>int b,c*;是不是似曾相識,這不就是我們定義一個指針變量,一個int變量的寫法嗎!
二、基礎typedef
廢話不說,直接案例說明!
typedef為變量起別名
- 案例3:
typedef為結構體起別名
- 案例4:
總結
以上是生活随笔為你收集整理的一文搞懂C语言typedef关键字的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 干货 | 中国的支付清算体系是怎么玩的?
- 下一篇: B端——复杂业务表单设计