欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

C之指針閱讀技巧(三十三)-創(chuàng)新互聯(lián)

    在 C 語言中,指針是精華所在了,那么我們總是覺得指針是最難理解的。它也是筆試面試中必問的知識點(diǎn)之一,今天我們就來看看那些復(fù)雜難懂的指針是怎么閱讀的。

成都創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括劍河網(wǎng)站建設(shè)、劍河網(wǎng)站制作、劍河網(wǎng)頁制作以及劍河網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,劍河網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到劍河省份的部分城市,未來相信會繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

        在閱讀指針相關(guān)的函數(shù)中,我們有個(gè)左右法則(這是唐長老總結(jié)的)。我們來具體看看它到底是怎樣的,a> 首先從最里層的圓括號中未定義的標(biāo)識符看起;b> 先往右看再往左看;c> 遇到圓括號或方括號時(shí)可以確定部分類型,并調(diào)轉(zhuǎn)方向;d> 重復(fù) b 和 c 步驟,直至閱讀結(jié)束。那么我們下來以代碼為例進(jìn)行分析

#include <stdio.h>

int main()
{ 
    int (*p)(int);

    int (*p1)(int*, int (*f)(int*));
    
    int (*p2[5])(int*);
    
    int (*(*p3)[5])(int*);

    int*(*(*p4)(int*))(int*);
    
    int (*(*p5)(int*))[5];

    return 0;
}

        那么我們看到上面定義了好多復(fù)雜的函數(shù),我們來一一分析

int (*p)(int);
==> p 為指針,指向函數(shù),指向的函數(shù)有個(gè)int型參數(shù),返回值為int型

int (*p1)(int*, int (*f)(int*));
==> p1 為函數(shù)指針,指向的函數(shù)有int*,f 為第二個(gè)參數(shù),它是函數(shù)指針,指向的函數(shù)參數(shù)為int*,返回值為int;;; 返回值類型為int

int (*p2[5])(int*);
==> p2 為數(shù)組,有5個(gè)元素,每個(gè)元素是指針,指向函數(shù),類型為int(int*)

int (*(*p3)[5])(int*);
==> p3 為指針,數(shù)組指針,指向的數(shù)組有5個(gè)元素,這5個(gè)元素為指針,是函數(shù)指針,指向的函數(shù)類型為int(int*)

int*(*(*p4)(int*))(int*);
==> p4 為指針,函數(shù)指針,參數(shù)為int*,返回值為指針,是函數(shù)指針,指向的函數(shù)類型為int*(int*)

int (*(*p5)(int*))[5];
==> p5 為指針,函數(shù)指針,參數(shù)為int*,返回值為指針,指向數(shù)組,指向的數(shù)組類型為int[5]

        我們看到其實(shí)經(jīng)過分析之后,函數(shù)也不難,但是這樣它的可讀性很差。我們可以將上面最后一個(gè)改用 typedef 進(jìn)行重命名,如下

typedef int(ArrayType)[5];
typedef ArrayType*(FuncType)(int*);

FuncType* p5;

        經(jīng)過重命名之后,我們看到 p5 為一個(gè)指針,這個(gè)指針的類型為 ArrayType*(int*);而 ArrayType 的類型為 int[5]。我們這樣是不是可讀性一下子就提高了呢。

        那么左右法則總結(jié)于編譯器對指針變量的解析過程,指針閱讀練習(xí)的意義在于理解指針的組合定義,我們可通過 typedef 簡化復(fù)雜指針的定義。

        歡迎大家一起來學(xué)習(xí) C 語言,可以加我QQ:243343083。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

網(wǎng)站欄目:C之指針閱讀技巧(三十三)-創(chuàng)新互聯(lián)
標(biāo)題路徑:http://www.chinadenli.net/article44/dcsehe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)全網(wǎng)營銷推廣自適應(yīng)網(wǎng)站做網(wǎng)站Google靜態(tài)網(wǎng)站

廣告

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

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司