第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
  • union的作用是讓不同的類型的變量共享同一個(gè)內(nèi)存地址

    查看全部
    0 采集 收起 來源:Linux C公用體

    2020-01-26

  • 宏的好處在于可以不指定數(shù)據(jù)類型,因?yàn)楹晔遣还苷Z(yǔ)法的

    查看全部
  • 宏函數(shù)

    #define ADD(a,b)? (a+b) ? (要盡量加上括號(hào),防止語(yǔ)法錯(cuò)誤,先后循序不一致。)

    查看全部
  • 預(yù)處理第二件事:宏替換

    #define 生成宏????R 宏的名字?????10 宏的內(nèi)容(作用效果,從本行開始)

    此時(shí)視10為字符(單純的字符串替換,不考慮語(yǔ)法的問題)

    查看全部
  • 預(yù)處理第一件事,展開頭文件

    然后是宏替換

    查看全部
  • .i文件內(nèi)函數(shù)在底端可以看見

    $????跳到文件底部 或 G 或 shift+g


    查看全部
  • .i????生成一個(gè)i后綴的文件

    -E????只進(jìn)行預(yù)處理


    查看全部
  • 編譯文件的四個(gè)步驟

    查看全部
  • 結(jié)構(gòu)體內(nèi)存占用大小計(jì)算方法
    查看全部
    0 采集 收起 來源:Linux C公用體

    2019-12-30

  • 如何訪問結(jié)構(gòu)體成員:

    //數(shù)組,攻擊力,價(jià)值

    struct mk14 mk15 = {"mk14_name",100,200};

    //訪問結(jié)構(gòu)體第一個(gè)變量

    printf("%s\n",mk15.name);

    //如果要對(duì)結(jié)構(gòu)體進(jìn)行運(yùn)算,需要寫完整 --》 mk15.atk++

    如何定義一個(gè)結(jié)構(gòu)體數(shù)組

    結(jié)構(gòu)體可以重復(fù)使用

    //同一個(gè)結(jié)構(gòu)體定義兩種不同的變量,如同都是武器,都是武器不同,其他參數(shù)就不同

    struct mk14 mk16[2] = { {"mk15_name",500,1000}, {"mk16_name",555,1111} };

    //第一個(gè)武器 第二個(gè)武器

    printf("%s\n,%d\n",? mk16[0].name,? mk16[1].atk);


    查看全部
  • ? ?3-1

    ? ?結(jié)構(gòu)體 stcuct 不同變量的集合

    ? ?//定義一種變量:里面可有多種變量的定義

    ? ?結(jié)構(gòu)體名字的三種定義:

    ? ?

    1:在函數(shù)里面定義

    struct mk14{ //定義一個(gè)武器變量

    char name[20]; //武器名字

    int atk; //攻擊力

    int price; //武器價(jià)值

    }

    int main(){

    int a;

    float b;

    struct mk14 awm;

    return 0;

    }

    2:在結(jié)構(gòu)體后面定義名字,類似如 typedef

    struct mk14{ //定義一個(gè)武器變量

    char name[20]; //武器名字

    int atk; //攻擊力

    int price; //武器價(jià)值

    }awm;

    int main(){

    int a;

    float b;

    return 0;

    }

    3:去掉結(jié)構(gòu)體名字,但是這樣就不能在次定義名字了。

    struct { //定義一個(gè)武器變量

    char name[20]; //武器名字

    int atk; //攻擊力

    int price; //武器價(jià)值

    }awm;

    int main(){

    int a;

    float b;


    return 0;

    }


    查看全部
  • typedef 起別名 u8,u16之類的,也可以對(duì)函數(shù)進(jìn)行起別名

    如 typedef int main(){} naim? ?--> 將int main() 一整個(gè)函數(shù)定義為naim

    typedef有作用域的問題

    define沒有作用域的問題

    而且,typedef 是在 .i文件之后執(zhí)行的,會(huì)被C語(yǔ)言的語(yǔ)法所限制,而define 不會(huì)


    查看全部
  • 預(yù)處理階段工作:①將頭文件展開直接放置到源文件中


    ? ? ? ? ? ? ? ? ? ? ②宏替換


    ? ? ? ? ? ? ? ? ? ? ③條件編譯


    注意:宏替換只是簡(jiǎn)單得字符串替換,且可以傳遞參數(shù)。


    例如,#define N(n) n*10


    ? ?int b = N(a);? // 首先n替換成a,然后a*10。




    易錯(cuò):#define ADD(a,b) a+b


    ? int c = ADD(a,b) * ADD(a,b);??


    /* 經(jīng)過簡(jiǎn)單的替換會(huì)得到 a+b*a+b,這顯示不是我們想要的結(jié)果,因此加上括號(hào)保證優(yōu)先級(jí)不會(huì)出錯(cuò)。*/


    正確寫法:#define ADD(a,b) (a+b) 這樣變換后會(huì)成 (a+b)*(a+b)

    一般寫法:

    int add(int a,int b)

    { return a+b; ? }

    int c = a+b;

    那么宏定義寫法的優(yōu)勢(shì)在哪:

    一般寫法:參數(shù)ab 必須是一種類型的變量,要么整形 int,要么浮點(diǎn)型 float,

    字符串不這么寫(詳見C語(yǔ)言入門第六章6-8 )

    宏定義:參數(shù)ab 可以是任意,因?yàn)樵诤昀锩嫠袇?shù)都會(huì)被單成字符串來處理,

    ? ? 只要修改 int c 前面的 int 就行


    查看全部
  • 2-1:


    linux c 預(yù)處理:

    編譯的四個(gè)步驟:.c文件—>.i文件(預(yù)處理)->.s文件(編譯)->.o文件(匯編)->可執(zhí)行文件(鏈接)

    gcc -o helloworld.i helloworld.c -E生成一個(gè).i文件,只進(jìn)行預(yù)處理

    .c和.i文件都是C的語(yǔ)法。.i展開了頭文件和進(jìn)行宏替換(宏定義)

    2-2:

    宏定義符:#define??

    c語(yǔ)言常量分為直接常量和符號(hào)常量:

    #define 標(biāo)識(shí)符 常量值(沒有分號(hào))

    宏的本質(zhì)是在預(yù)處理階段發(fā)生的單純的字符串替換(宏替換);

    在預(yù)處理階段,宏不考慮 C的語(yǔ)法。例如:

    #define n int main(

    n){} == int main(){}? //這樣寫是可以的

    而宏的作用通常是用于替換一些比常用的變量或名字:u8、u16之類的


    查看全部
  • 4-1 Linux C 公用體

    abc 存放到一個(gè)公用體中,節(jié)省開銷 ,同一時(shí)刻只能存儲(chǔ)一個(gè)成員

    union data{? int a;int b;int c;};

    結(jié)構(gòu)體空間大小涉及到字節(jié)對(duì)齊,對(duì)齊的目的是讓計(jì)算機(jī)快速讀寫

    結(jié)構(gòu)體對(duì)象大小=最后一個(gè)成員的大小+最后一個(gè)成員的偏移量+填充字節(jié)數(shù)

    每個(gè)成員所占內(nèi)存大小的偏移量=成員字節(jié)大小的整數(shù)倍。

    a的偏移量是0,b的偏移量是4,c的偏移量是8

    結(jié)構(gòu)體總大小是12,是最寬的基本類型成員大?。╥nt ,4)的整數(shù)倍

    公用體變量和各個(gè)成員的變量是一個(gè)地址



    查看全部
    1 采集 收起 來源:Linux C公用體

    2019-12-05

舉報(bào)

0/150
提交
取消
課程須知
本課程為C語(yǔ)言的中級(jí)課程 1、需要有一定的C語(yǔ)言基礎(chǔ),如有基礎(chǔ)薄弱的童鞋可以看一下網(wǎng)站上其他3門C語(yǔ)言的課程 2、因在Linux環(huán)境下,需會(huì)一些Linux下的命令,可以看一下《Linux C語(yǔ)言編程原理與實(shí)踐》此課。
老師告訴你能學(xué)到什么?
1、預(yù)處理是干什么的 2、結(jié)構(gòu)體是什么 3、公用體是什么 4、位運(yùn)算是怎么回事 5、如何實(shí)現(xiàn)動(dòng)態(tài)數(shù)據(jù)結(jié)構(gòu)體 6、遞歸的原理

微信掃碼,參與3人拼團(tuán)

微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

友情提示:

您好,此課程屬于遷移課程,您已購(gòu)買該課程,無(wú)需重復(fù)購(gòu)買,感謝您對(duì)慕課網(wǎng)的支持!