C語言一些沒記住總是google的

來源:互聯網
上載者:User
1. Case後面只能跟整型或者字元型的常量或常量運算式

2. 如果p1 和p2 指向不同的資料類型,則必須使用強制類型轉換運算子把賦值運算子右邊的指標類型轉換為左邊指標的類型。
而void *則不同,任何類型的指標都可以直接賦值給它,無需進行強制類型轉換。
所以很多函數的參數是void*,這樣能接受所有類型的指標.

3. const int *p; // p 可變,p 指向的對象不可變
int const *p; // p 可變,p 指向的對象不可變
int *const p; // p 不可變,p 指向的對象可變
const int *const p; //指標p 和p 指向的對象都不可變

4. C99中,增加flexible array的定義

     typedef struct st_type   {      int i;      int a[0];    }type_a;    

或者寫成:

     typedef struct st_type    {      int i;      int a[];    }type_a;   

5. 數組名不能作為左值,可以把a[i]當左值.

6. 對指標進行加1 操作,得到的是下一個元素的地址,而不是原有地址值直接加1。所以,一個類型為T 的指標的移動,以sizeof(T) 為移動單位。

7. int *p1[10]; 指標數組, 這是一個數組,其包含10 個指向int 類型資料的指標
int (*p2)[10]; p2 是一個指標,它指向一個包含10 個int 類型資料的數組,即數組指標

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.