欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

C語言的陷阱之typedef

typedef是一個關(guān)鍵字,可以重命名一些數(shù)據(jù)類型也可以重定義一些新的數(shù)據(jù)類型。我們從以下幾個角度去理解typedef。

創(chuàng)新互聯(lián)公司成立與2013年,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目網(wǎng)站設(shè)計制作、成都網(wǎng)站制作網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元嫩江做網(wǎng)站,已為上家服務(wù),為嫩江各地企業(yè)和個人服務(wù),聯(lián)系電話:18980820575

1.typedef和普通數(shù)據(jù)類型類型

typedef int MYINT;int a = 10;
MYINT B = 20;123123

我們給int重命名成MYINT,這時候 int 和MYINT 是一樣的,都可以定義變量,并且在32位平臺都是32位的。

2.typedef和結(jié)構(gòu)體(重點)

struct people 
{    int age;    char sex;
};1234512345

上面創(chuàng)建了一個新的數(shù)據(jù)類型 strcut people,注意,這個是數(shù)據(jù)類型,數(shù)據(jù)類型不占內(nèi)存。

struct people p1,p2;11

這時候我們定義了兩個變量,p1和p2,他們的數(shù)據(jù)類型是struct people,以后我們每次定義變量都要寫struct people,是不是感覺很麻煩,使用typedef給它重命名一下就簡單多了。

typedef struct people
{    int age;    char sex;
}STRPEO; 1234512345

這樣struct people和STRPEO和struct people就有了一樣的作用。以后我們在定義變量直接STRPEO p1,p2;是不是簡單很多。 
我們再來定義一個該結(jié)構(gòu)體的指針

typedef struct people 

int age; 
char sex; 
}*PSTRPEO;

雖然* 和PSTRPEO很近,但是* 是和struct people 結(jié)合的,也就是說,PSTRPEO 的類型是struct people *

STRPEO P1;          //定義結(jié)構(gòu)體變量P1.age = 20;        //給結(jié)構(gòu)體age成員賦值PSTRPEO P = &p1;    //使用結(jié)構(gòu)體指針訪問age成員printf("%d\n",p->age);      //結(jié)果是  20  12341234

3.typedef和#define(重點) 
typedef是給類型重命名,相當于一個數(shù)據(jù)類型,而#define是宏定義,在程序預(yù)處理時期直接替換

typedef int * PMYINT;

MYINT a,b;      123123

相當于 int* a,int* b,兩個變量的數(shù)據(jù)類型都是int *

#define PMYINT int *PMYINT a,b;123123

* 宏定義是直接替換,在這就是用 int替換掉PMYINT 相當于int a,b;a是int類型,b是int類型。**

4.typedef和const(重點)

回顧:const int * p; //指針p指向的變量是不可變得 
int * const p; //指針p本身是不可改變的

typedef int* PINT;const PINT p1;
PINT const p2;12341234

按照我們平常的理解應(yīng)該是const int* p1;和int *const p2;p1指向的變量是不可變的,p2指針本身是不可變的。經(jīng)過代碼驗證我們發(fā)現(xiàn),無論是const PINT p1;還是PINT const p2; 效果都等價于 int *const ,p1和p2本身是不可變的。 那我們想讓指針指向的變量不可變怎么辦?

typedef const int* CPINT;

CPINT P1,CPINT P2;      //這樣p1和p2本身可變,指向的變量不可變。123123

5.typedef和函數(shù)指針

函數(shù):int * test(const char *,int ); 
函數(shù)指針 int* ( * ptest)(const char * ,int )

我們每次定義這類函數(shù)的指針都要寫這么長,很麻煩于是

typedef int * ( * PTEST)(const char * ,int);

以后我們在使用該函數(shù)指針時直接PTEST P1,P2;就可以了。

6.使用typedef的意義 
使用typedef的好處就是簡化類型的書寫,創(chuàng)建與平臺無關(guān)的數(shù)據(jù)類型,有利于代碼移植,int在32位機器上就是32位的,在我們在32位機器上寫的程序很可能無法在64位平臺運行,我們可以把int用typedef重定義一下,即可增強代碼的可移植性。

網(wǎng)站名稱:C語言的陷阱之typedef
轉(zhuǎn)載來源:http://aaarwkj.com/article42/gdeihc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、定制網(wǎng)站、網(wǎng)站內(nèi)鏈、網(wǎng)站設(shè)計、定制開發(fā)、網(wǎng)頁設(shè)計公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)
日韩精品成人亚洲天堂| 欧美 日本国产一区| 婷婷色中文字幕综合在线| 97国产一区二区精品久久呦| 日韩精品大全一区二区| 人成在线免费视频网站| 欧美亚洲另类激情另类的| 日韩爱视频一区二区| 国产视频三级在线观看| 二区三区成人在线观看| 禁止18观看视频软件| 一区二区五区日韩国产| 91久久国产香蕉熟女| 最新亚洲av熟女播放| 亚洲国产一区二区三区三州| 成年人网站一级黄色免费| 亚洲成人精品免费观看| 国产黄片一区二区在线| 国产97精品在线播放| 国产精品极品网站91青青| 麻豆一精品传二传媒短视频| 午夜18禁毛片免费看| 日本av电影一区二区三区四区| 日本一区二区不卡二区| 96热久久这里只有精品| 亚洲激情av在线观看| 国产日本福利在线综合网| 精品色妇熟妇丰满人妻5| 欧美亚洲精品二区久久久| 国产粉嫩美女一区二区三| 欧美日韩精品一区二区三| 久久日韩一区二区三区| 亚洲午夜一区二区精品| 青青草网站在线观看视频| 不卡二卡三卡四卡精品| 日韩欧美亚洲国产每日更新 | 成年爽片在线观看播放欧美| 国产l精品国产亚洲区久久| 人体蜜桃视频一区二区| 精品视频中文字幕天码| 日本理论高清在线观看|