C語言的一些易混知識點

2023-02-08 09:25:42 字數 895 閱讀 4370

指標陣列:首先它是一個陣列,陣列的元素都是指標,陣列佔多少個位元組由陣列本身決定。它是“儲存指標的陣列”的簡稱。

陣列指標:首先它是一個指標,它指向一個陣列。在 32 位系統下永遠是佔 4 個位元組,至於它指向的陣列佔多少位元組,不知道。它是“指向陣列的指標”的簡稱。

下面到底哪個是陣列指標,哪個是指標陣列呢:

a),int *p1[10]; //指標陣列

b),int (*p2)[10]; //陣列指標

“”的優先順序比“*”要高。p1 先與“”結合,構成一個陣列的定義,陣列名為 p1,int 修飾的是陣列的內容,即陣列的每個元素。那現在我們清楚,這是一個陣列,其包含 10個指向 int 型別資料的指標,即指標陣列。至於 p2 就更好理解了,在這裡“()”的優先順序比“”高,“”號和 p2 構成一個指標的定義,指標變數名為 p2,int 修飾的是陣列的內容,即陣列的每個元素。陣列在這裡並沒有名字,是個匿名陣列。那現在我們清楚 p2是一個指標,它指向一個包含 10 個 int 型別資料的陣列,即陣列指標

指標函式: 顧名思義,它的本質是一個函式,不過它的返回值是一個指標。

ret *func(args, ...);                    //指標函式
ret (*p)(args, ...);                    //函式指標

===

初學C語言時一些易混易忘知識

零基礎開始學c語言,這是我在看譚浩強的 c語言程式設計 第四版時,一些易混易忘的知識 1.優先順序關係 非 算數運算子 關係運算子 和 賦值運算子 條件運算子的優先順序別比關係運算子 和 算數運算子 都低,例 max a b a b 括號可以不要,可寫成 max a b a b 如果有a b a b...

C 中一些易混知識的比較

equals 和 的區別 c 中有兩種不同的相等 引用相等和值相等 是比較兩個變數的值是否相同或兩個引用是不是指向同一個記憶體地址。equals 方法是比較兩個物件指向記憶體空間裡的內容是不是相同。也就是比較兩個 引用型別 是否是對同一物件的引用,即兩個物件的內容是否相同。公共變數和屬性的區別 變數...

C語言的一些偏僻知識點

1 c語言是一種自由形式的語言,也就是說並沒有規則規定什麼地方可以書寫語句,一行中可以出現多少條語句,什麼地方應該留下空白以及應該出現多少空白等 預處理指令是一個例外,它是以行定位的 唯一的規則就是相鄰的標記之間必須出現一個或多個空白字元,不然他們可能被解釋為單個標記。因此下列語句是等價的 y x ...