• 您現在的位置是:首頁 >綜合 > 2022-05-23 10:25:07 來源:

    c語言指針為什么難學(c語言指針)

    導讀 大家好,精選小編來為大家解答以上問題。c語言指針為什么難學,c語言指針很多人還不知道,現在讓我們一起來看看吧!1、什么是指針。第一,

    大家好,精選小編來為大家解答以上問題。c語言指針為什么難學,c語言指針很多人還不知道,現在讓我們一起來看看吧!

    1、 什么是指針。第一,指針是一個變量,指針的值是另一個變量的地址。

    2、 例如:

    3、 b是整數指針變量,其值是整數變量A的地址;

    4、 指針的類型。這里有一個小技巧:

    5、 (int* ptr的指針類型是int *

    6、 (2)2)char* ptr的指針類型是char *

    7、 (3)3)int** ptr的指針類型是int * *

    8、 (4)int(* ptr)[4]的指針類型是int(*)[4]

    9、 相信朋友們已經發現了規律:從指針聲明中去掉指針名,就是指針的指針類型。

    10、 指針指向的類型。還有一個小竅門:

    11、 (int * ptr的指針所指向的類型是int。

    12、 (2)2)char * ptr的指針指向的類型是char

    13、 (3)3)int* * ptr的指針指向的類型是int *

    14、 (4)指向int (* ptr) [4]的指針指向int()[4]類型

    15、 從指針聲明中去掉左邊帶*的指針名,即指針所指向的類型。

    16、 常數和指針。一般來說,有幾種情況:

    17、 (1)const int* p等價于int const *p p,指針指向的內容不能修改。

    18、 (int * const p指針的地址是不能修改的,需要在聲明的時候初始化。

    19、 (3)const int* const p等價于int const * const p,內容和指針不能修改。

    20、 提示:看const的右邊。如果是指針名,地址不能修改;如果是*指針名或者const在前,內容不能修改。

    21、 運算符和*運算符。是一個尋址操作符,它的結果是一個指針(地址)。*是一個間接運算符,它的結果就是變量指向的內容。

    22、 空指針和通配符指針。空指針意味著指向空的或者不指向任何東西。(注意:聲明但初始化的指針不為空,即聲明的指針有地址。)通配符指針不為空,一般指向當前程序的未知地址或不可訪問的地址。

    23、 數組和指針。當數組被命名為右值時,它是第一個元素的地址。

    24、 (1)數組[0]等于*數組。

    25、 (2)數組[1]等于*(數組1)

    26、 (3)數組[2]等于*(數組2)

    27、 (4)數組[3]等于*(數組3)

    28、 其中數組1表示,它指向數組的下一個相鄰內存塊。

    29、 和函數指針。通常,函數參數作為形式參數傳遞,形式參數通過值傳遞。即形參是實參的副本,實參的參與形參是指值相同,但指向的內存塊(地址)不同。

    30、 示例:

    31、 這種情況可以通過傳入指針來避免。

    32、 以及結構類和指針。您可以通過“-”箭頭運算符訪問結構成員,通過“.”訪問類成員和方法點運算符。

    本文到此結束,希望對大家有所幫助。

  • 成人app