【C語言】數據類型和變量

數據類型分爲簡單數據類型和複雜數據類型函數

  1. 數據類型可理解爲建立變量的模具;是固定內存大小的別名;指針

  2. 數據類型的做用:編譯器預算對象(變量)分配的內存空間大小;對象

 

    求數據類型的大小——sizeof()是操做符,不是函數;sizeof()測量的實體大小在編譯期就已經肯定了。內存

 

數據類型能夠取別名——typedef原型

 


  1. void的字面意思是「無類型」,void *則爲「無類型的指針」,void *能夠指向任何類型的數據;編譯器

  2. 用法1:數據類型的封裝it

    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.變量的本質

    (一段連續)內存空間的別名

  • 程序經過變量來申請和命名內存空間;

  • 經過變量名訪問內存空間;

    修改變量的方法

  • 直接修改;

  • 間接修改;拿到內存編號來修改內存——指針;

  • 內存空間能夠取別名——引用

相關文章
相關標籤/搜索