1、sizeof和strlen有哪些區別?
1.sizeof操作符的結果型別是size_t,它在標頭檔案中typedef為unsigned int型別。
該型別保證能容納實現所建立的最大物件的位元組大小。
2.sizeof是算符,strlen是函式。
3.sizeof可以用型別做引數,strlen只能用char*做引數,且必須是以」\0」結尾的。
4.陣列做sizeof的引數不退化,傳遞給strlen就退化為指標了。
5.大部分編譯程式 在編譯的時候就把sizeof計算過了 是型別或是變數的長度這就是sizeof(x)可以用來定義陣列維數的原因
6.strlen的結果要在執行的時候才能計算出來,時用來計算字串的長度,不是型別佔記憶體的大小。
7.sizeof後如果是型別必須加括弧,如果是變數名可以不加括弧。這是因為sizeof是個操作符不是個函式。
8.當適用了於乙個結構型別時或變數, sizeof 返回實際的大小,
當適用一靜態地空間陣列, sizeof 歸還全部陣列的尺寸。
sizeof 操作符不能返回動態地被分派了的陣列或外部的陣列的尺寸
9.陣列作為引數傳給函式時傳的是指標而不是陣列,傳遞的是陣列的首位址
2、使用sizeof計算聯合體的大小
#include
union u
; union u2
; union u3
; int main()
; int main()
5、指標加減操作 看**,寫輸出
#include
int main()
; int
*ptr = (int
*)(&a+1);
printf("%d\n", *(a+1)); 2
printf("%d\n", *(ptr-1)); 5
return
0;
}
js的一些經典面試題
年底好多小夥伴找新工作,為了面試可謂是殫精竭慮啊,但還是免不了被面試官說的一臉懵逼。哈哈哈.今天總結點經典面試題目,有些是es6,有些是es5。不要吐槽我 1.記憶化斐波那契函式 memoization q1 陣列 1,1,2,3,5,8,13,請你完成 fibonacci 函式,接受 n 作為引數...
Oracle的一些經典SQL面試題
例項1 測試資料 create table nba team varchar2 20 year number 4 sql select from nba team year 活塞 1990 公牛 1991 公牛 1992 公牛 1993 火箭 1994 火箭 1995 公牛 1996 公牛 1997...
一些面試題
q 您在什麼情況下會用到虛方法?它與介面有什麼不同?a 當在繼承類中想重寫某一方法時會用到虛方法 虛方法是類的成員函式,介面相當於抽象類.q override與過載有什麼區別?a override 就是覆蓋的意思,覆蓋父類的同名方法,而過載則是通過參數列來呼叫方法.q 值型別與引用型別有什麼區別?a...