兩則C語言技巧 zz

2021-04-09 01:10:10 字數 999 閱讀 4713

以前用c++

時,喜歡去玩一些語法上的技巧,每學到乙個技巧都高興得不得了,總是想找個地方用它,以顯示自己的水平。其實我們應該更關心技巧的實用價值,如果一項技巧很巧妙,但很少用它,忘掉了也不必覺得可惜。最近發現兩則

c語言技巧,以前沒有用過,覺得有些實用價值,做個筆記吧。 1.

陣列初始化。

常見的陣列初始化方法:

intarray

[10] = ;

通常情況下,這種做法沒有問題。再看看下面這個例子:

enum

;

intprice

[fruit_nr

] = ;

這段**有個潛在前提,那就是列舉的順序不能變化。一旦變化,整個邏輯都亂了,這樣的

bug能否查出來要靠運氣。這樣的假設是靠不住的,特別是當列舉是第三方庫提供的時候,他們調整列舉的順序後絕對不會通知你。為了避免這樣的潛在隱患,可以用下面的方法:

enum

;

intprice

[fruit_nr

] = ;

2.處理

case

語句。處理

case

語句,有很多

case

情況要做相同的處理時,通常的做法是:

switch

(value

)

default

:break

; }

這樣寫當然沒有錯,只是比較繁瑣,特別是這樣情況很多時。如果這些值是連續的,我們可以用下面的方法:

switch

(value

)

default

:break

;

}

這兩個技巧好像是屬於

c語言新標準的,我只是在

gcc上測試過,不能保證可移植性。

兩則C語言技巧

兩則 c語言技巧 以前用 c 時,喜歡去玩一些語法上的技巧,每學到乙個技巧都高興得不得了,總是想找個地方用它,以顯示自己的水平。其實我們應該更關心技巧的實用價值,如果一項技巧很巧妙,但很少用它,忘掉了也不必覺得可惜。最近發現兩則 c語言技巧,以前沒有用過,覺得有些實用價值,做個筆記吧。1.陣列初始化...

兩則C語言技巧

兩則c 語言技巧 以前用c 時,喜歡去玩一些語法上的技巧,每學到乙個技巧都高興得不得了,總是想找個地方用它,以顯示自己的水平。其實我們應該更關心技巧的實用價值,如果一項技巧很巧妙,但很少用它,忘掉了也不必覺得可惜。最近發現兩則c 語言技巧,以前沒有用過,覺得有些實用價值,做個筆記吧。1.陣列初始化。...

DirectFB兩則技巧

directfb 兩則技巧 directfb 的執行行為可以通過配置檔案進行控制,可以從多個配置檔案中讀出配置資訊,然後合併到一起,甚至可以對不同名稱的應用程式指定不同的配置檔案。其主配置檔案為 etc direcfbrc 它的內容影響所有使用者的應用程式。建立 pc模擬環境。directfb 和x...