sizeof運算子用於取得「東西」的大小,以位元組為單位。比如sizeof(char)就返回1,表明char資料型別佔乙個位元組。又如:
char
str ="
12345";
printf(
"%d ",
sizeof
(str));
//等於6
字串str佔六個位元組,這樣做是可行的。如果strlen(str)一把,則等於5,因為strlen返回的是字串的字元數,不包含結尾的/0。可是用sizeof丈量字串大小時的確需要注意了,比如下面的程式碼就有問題。
void
func(
const
char
const
*pstr)
void
main(
void
)void
fun(struct date
*input)
intmain(
void
)...
返回結果是12,沒什麼問題,不過就是用的時候要加上*別忘了。可以看出字串是比較特殊的。strlen在任何情況下大家都可以放心使用。
使用 strpos 需要注意 運算子
首先應該知道 strpos 函式可能返回布林值 false,但也可能返回乙個與 false 等值的非布林值,例如 0 或者 我們應使用 運算子來測試本函式的返回值。判斷字串是否存在的函式 function strexists haystack,needle test mystring abc fin...
位運算子 需要注意的地方
本人第乙個部落格,以後會經常寫 此時的我就像戲台上的老將軍 以免第二次犯同樣的錯誤。因為考研的原因,好久沒有coding了,略感生疏。瘋玩了十幾天,決定拿起書本,紮實地重新看一遍專業書。從開始學習程式設計起,就不是很注重位運算,因為覺得可以用別的方法代替。後來發現有些東西用位運算處理更有效率。這裡主...
C 運算子過載需要注意的地方
有時候自己寫乙個類,需要過載運算子,但對於一些操作符 如 等 可以在類裡寫,也可以在類外寫。那麼 c 編譯器會去怎麼呼叫呢?首先,我們知道,過載 機制可以允許多個函式有相同的函式名,但引數列表必須不同。c 編譯器經過名字改編 name mangling 可以在呼叫時依據所傳實參找到 最符合 的函式實...