兩則C語言技巧

2021-09-10 03:43:38 字數 1887 閱讀 1572

兩則c

語言技巧

以前用c++

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

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

1.        

陣列初始化。

常見的陣列初始化方法:

intarray

[10] = ;

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

enum

;int

price

[fruit_nr

] = ;

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

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

enum

;int

price

[fruit_nr

] = ;

2.        

處理case

語句。處理case

語句,有很多case

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

switch

(value

)default

:break;}

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

switch

(value

)default

:break;}

這兩個技巧好像是屬於c

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

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

~~end~~

再分享一下我老師大神的人工智慧教程吧。零基礎!通俗易懂!風趣幽默!還帶黃段子!希望你也加入到我們人工智慧的隊伍中來!

兩則c語言技巧

以前用c++

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

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

1.        

陣列初始化。

常見的陣列初始化方法:

intarray

[10] = ;

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

enum

;int

price

[fruit_nr

] = ;

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

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

enum

;int

price

[fruit_nr

] = ;

2.        

處理case

語句。處理case

語句,有很多case

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

switch

(value

)default

:break;}

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

switch

(value

)default

:break;}

這兩個技巧好像是屬於c

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

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

~~end~~

兩則C語言技巧

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

兩則C語言技巧 zz

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

DirectFB兩則技巧

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