亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
  • 左移<<:

    高位丟棄,低位補零??

    實現2倍乘運算: 左移n位就是將數值*2的n次方

    注意:如果數據類型為有符號型,由于高位丟棄,發生溢出

    查看全部
  • 異或:兩者相斥才為1

    符號:^

    應用:

    按位反轉:a^0xFF

    實現數值交換:a=a^b;b=b^a,a=a^b


    查看全部
  • 16進制數0xFF=1111 1111=255


    查看全部
  • 按位與判斷奇偶性:

    a為偶數:a&1 == 0

    a為奇數:a&1 != 0


    查看全部
  • 位 0 false 1 true

    &按位與,整型或字符型,補碼

    a=4;00000000000000000000000000000100

    b=7;00000000000000000000000000000111

    a&b=00000000000000000000000000000100=4

    迅速清零a&0=0


    查看全部
  • malloc分配內存塊的函數

    sizeof判斷數據類型的長度符


    查看全部
  • 共用體:

    1、不同數據類型的變量共享一個內存地址

    2、該結構體所占實際內存為最大的成員所占

    3、關鍵字union

    union data{

    ..

    ..

    }

    union data data_1

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

    2020-02-17

  • 如何對結構體進行初始化和訪問結構體成員:

    1、初始化 在花括號內 對結構體內變量成員依次賦值即可

    struct weapon weapon_1 = {"w_name",100,200};

    2、訪問結構體成員:使用運算符.

    :weapon_1.name,weapon_1.price//根據初始化的內容,=200


    結構體數組:struct weapon weapon_2[2];

    初始化就依次就好了:http://img1.sycdn.imooc.com//5e4900810001a66d08560036.jpg


    查看全部
  • 結構體:

    寫在 main()函數之前

    結構體是不同類型變量的集合(與數組很不同)

    例子:

    寫一個武器的結構體類型

    首先使用關鍵字struct?

    struct weapon{

    ????char name[20];

    ????int atk;

    ????int price;

    };

    在int main(){中使用這個數據類型

    struct weapon 變量名;

    如果要使用結構體數據類型作為全局變量,可在寫struct的時候在}后寫變量名然后;。

    比如:

    struct weapon{

    ????char name[20];

    ????int atk;

    ????int price;

    }weapon1;


    查看全部
  • typedef 與#define作用域不同:

    #define如果寫到了自定義函數里面,在這函數外面還是可以使用的

    但typedef就不行了。

    查看全部
  • 定義 結構體

    struct stu{

    }

    在使用這個結構體的時候麻煩

    :struct stu xxx;

    所以常常這樣寫

    typedef struct stu{

    }stu_t;

    之后通過 stu_t xxx;創建結構體


    查看全部
  • 與宏相近的語法:typedef(type define)?

    作用:給變量類型起別名,當你感覺某變量名別扭,甚至數據類型名別扭時。。經常用在給自定義的數據類型起名字

    比如數據類型size_t實際是系統用typedef語法處理了

    typedef unsigned long size_t

    注意:宏#define 眼里是沒有C語法的,所以不以分號結尾。

    但typedef是C 需要以;結尾

    注意:typedef int *p意義是:int *=p,所以p q=指針q

    區別:在經過預處理后 typedef起的別名是不會替換回去的


    查看全部
  • 預處理過程其實還有一個條件編譯的功能:可以根據不同的條件,編譯不同的程序部分從而產生不同的目標代碼文件,對程序的移植和調試很有用

    查看全部
  • 注意:

    1、宏定義是完全字符串替換 所以這里 a+b加個()。防止一些意想不到的錯誤。

    2、但也有好處 :都是實現求和,定義函數求和對變量的數據類型只能與寫函數的時候保持一致,而宏定義實現求和沒有這個.

    http://img1.sycdn.imooc.com//5e48fa1f0001795a02740057.jpg


    查看全部
  • 宏也有函數形式,可以有參數,參數可以是代碼里面定義的變量 :

    #include<stdio.h>

    #define R 20

    #define N(n) n*10

    int main(){

    ?????int a=R;

    ???? int b=N(a)//打印b 會發現b=20*10=200

    查看全部

舉報

0/150
提交
取消
課程須知
本課程為C語言的中級課程 1、需要有一定的C語言基礎,如有基礎薄弱的童鞋可以看一下網站上其他3門C語言的課程 2、因在Linux環境下,需會一些Linux下的命令,可以看一下《Linux C語言編程原理與實踐》此課。
老師告訴你能學到什么?
1、預處理是干什么的 2、結構體是什么 3、公用體是什么 4、位運算是怎么回事 5、如何實現動態數據結構體 6、遞歸的原理

微信掃碼,參與3人拼團

微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網的支持!