所以我知道一個指針是:int *在這裏是什麼?
int *someNumber;
,但我已經與運行翻過一些代碼:
int* pOutputData = nullptr;
byte* pOutputDataByte = nullptr;
是什麼INT *是什麼意思?
是一些int的數組?它是一個指向類型的指針嗎?
所以我知道一個指針是:int *在這裏是什麼?
int *someNumber;
,但我已經與運行翻過一些代碼:
int* pOutputData = nullptr;
byte* pOutputDataByte = nullptr;
是什麼INT *是什麼意思?
是一些int的數組?它是一個指向類型的指針嗎?
int *
和int*
是一樣的東西。空白不會改變任何東西。
int *
既可以用作指向int
的指針,也可以用作指向數組int
的第一個元素的指針。如何使用變量取決於上下文。根據變量名稱判斷,我猜想someNumber
指向一個單獨的int
和pOutputData
指向一個數組。
兩者都是相同
空白並不在C意味着什麼
int * num ;
int *num;
int* num;
所有上述內容一樣的!
我們使用int *作爲默認值;主要是數據結構,以避免混淆。
在C中,傳統的間距是'int * num;',因爲它反映了語法。在C++中,傳統的間距是'int * num',因爲這就是Bjarne Stroustrup喜歡的。或者沒問題 - 但不要寫'int * foo,bar;',它將'foo'定義爲'int *','bar'定義爲'int'。 – 2014-12-04 03:11:20
總是從右讀指針變量向左
int *p means p is a pointer to an int
char *p means p is a pointer to a char
const int *p means p is a pointer to an integer constant
int * const p means p is constant pointer to an int
'INT *'是*始終*的指針'int'對象。這個「int」對象可能是也可能不是數組的第一個元素(或者任何元素)。 – 2014-12-04 02:56:33
@KeithThompson:它可能也是一個指針*後面的一個'int'對象,或'NULL' ... – Deduplicator 2014-12-04 03:05:28
@Deduplicator:Touché。 – 2014-12-04 03:09:26