【C語言】資料類型和變數

來源:互聯網
上載者:User

標籤:

資料類型分為單一資料型別和複雜資料類型

  1. 資料類型可理解為建立變數的模具;是固定記憶體大小的別名;

  2. 資料類型的作用:編譯器預算對象(變數)分配的記憶體空間大小;

 

    求資料類型的大小——sizeof()是操作符,不是函數;sizeof()測量的實體大小在編譯期就已經確定了。

 

資料類型可以取別名——typedef

 

  1. void的字面意思是“無類型”,void *則為“無類型的指標”,void *可以指向任何類型的資料;

  2. 用法1:資料類型的封裝

    int InitHardEnv(void **handle);

    記憶體操作函數memcpy和memset的函數原型分別為:

    void *memcpy(void *dest, const void *scr, size_t len);

    void *memset(void *buffer, int c, size_t num); 

  3. 用法2:void修飾函數的傳回值和參數,僅表示無

    如果函數沒有傳回值,那麼可以將其聲明為void類型;

    如果函數沒有參數,可以將其參數聲明為void;

  4. void指標的意義

    C語言規定只有相同類型的指標才可以相互賦值;

    void *指標作為左值用於“接收”任意類型的指標;

    void *指標作為右值賦值給其他指標時需強制類型轉換;

    int *p1 = NULL;

    char *p2 = (char *) malloc(sizeof(char) * 20);

  5. 不存在void類型的變數

    C語言沒有定義void究竟是多大記憶體的別名

變數

1.變數的概念

    既能讀又能寫的記憶體對象;

2.變數的本質

    (一段連續)記憶體空間的別名

  • 程式通過變數來申請和命名記憶體空間;

  • 通過變數名訪問記憶體空間;

    修改變數的方法

  • 直接修改;

  • 間接修改;拿到記憶體編號來修改記憶體——指標;

  • 記憶體空間可以取別名——引用

 

【C語言】資料類型和變數

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.