C語言容易暈的問題

2021-10-06 14:39:31 字數 835 閱讀 3129

c語言三座大山:陣列、指標、函式。

1 陣列:一批記憶體位置相鄰的變數。

指標與陣列:

因為指標可以用來做運算,所以通常可以用指標來指向陣列。

int a[3] = ;

int *p = a;

如上:p是變數, a是陣列常量, 陣列名本身就是個指標,但a是常量。

2 指標陣列與陣列指標:

指標陣列:見名知意,是乙個陣列,其每個元素是指標。

例:int *p[4] 其中p是個長度為4的陣列,每個元素型別是整型指標。

陣列指標:本質是個指標,指向乙個陣列。

例:int (*p)[4] 其中變數p是乙個指標,指向長度為4的元素為整型變數的陣列。

3 指標函式與函式指標

指標函式:本質是個函式,返回值是個指標型別

int * func(int i, int j) 

函式指標:本質上是個指標,指標型別是函式

int max(int a, int b)

int (*p)(int, int);

p = max;

4 指標常量與常量指標

指標常量:本質是個常量,常量型別是個指標 誰離變數近,變數型別就是誰

int a;

int *const p = &a;

p不可以變 *p可以變

常量指標:本質是個指標,指向內容是個常量

int a; 

int const *p = &a;

(*p)不能變,指標指向的內容(p)可以變

php學習日誌之 容易讓我暈暈的東東(整理)

這不單單是我自己的東西,是整理別人和自己在學習中的容易記錯的東西。記憶方法 echo是不可以有返回值的,而print可以有返回值。當然他們都是列印的東西。記憶方法 include是可以有條件包含,可以放在邏輯語句中。require是無條件包含,放在任何地方都是一樣的效果。錯誤方面 include只是...

C語言中容易混淆的問題

1.c語言中,沒有專門的字串變數,沒有string型別,通常就用乙個字元陣列來存放乙個字串。2.字串結束標誌 0 c語言中字串總是以 0 作為結尾。3.字串會自動在結尾補 0 4.用字元陣列儲存字串時,要特別注意 0 要為 0 留個位置,所以字元陣列的長度至少要比字串的長度大 1。char str ...

c語言容易忽略的點

世間事,除了生死,哪一件不是閒事。倉央嘉措 在linux環境下,gcc編譯器由分析器 優化器 編譯器組成。gcc執行分四步 1 預處理 執行預處理語句,刪除注釋 預先護理部分語句 gcc e xx.c xx.i 2 編譯 將c語言轉化為組合語言 檢查c語言的語法正確性 gcc s xx.i o xx...