C C 知識回顧(二) Sizeof

2021-07-27 05:58:29 字數 719 閱讀 9826

1.指標大小為4個位元組

2.結構體內的元素長度都小於處理器的位數的時候,以最長的資料元素作為對齊單位

如果結構體內存在長度大於處理器位數的元素,那麼就以處理器的位數為對齊單位

3.注意位址對齊

4.static 靜態變數存放在全域性資料區,sizeof不會計算它。

5.

char * s="0123456789";

//sizeof(s)=4

//sizeof(*s)=1 *s是第乙個字元

char s="0123456789";

//sizeof(s)=11;

//sizeof(*s)=1

//strlen的引數只能是char *

6.對函式使用sizeof,在編譯階段會被函式返回值的型別取代

7.sizeof(string)=4

8.

char var[10];

int test(char var)

//函式返回值為4

9.乙個空類所佔空間為1,多重繼承的空類所佔空間還是1,但是虛繼承的類大小為4;

10.關於內聯函式

內聯函式和普通函式相比可以加快程式執行的速度,因為不需要中斷呼叫。在編譯的時候內聯函式直接嵌入到目標**中。

inline一般用於一下情況

(1)重複呼叫

(2)沒有for while switch語句

C C 知識回顧 指標

1 非空的區別。引用不能為空。2 可修改區別。引用一旦被初始化,就會一直指向初始化的物件。3 合法性區別。在程式設計時,使用指標之前應該檢測其是否為空值。4 應用區別。指標多用於可能會不指向任何物件的情況 int f int int int f是乙個函式指標,它指向引數是兩個int的函式,該函式的返...

C C 知識回顧 Lambda

它是第十乙個希臘字母,乙個擁有失意 無奈 孤獨 低調等含義的流行符號,也指示一款稱為 半條命 的遊戲。不過,這次我所講的是 c 中的 lambda。lambda 表示式,是一種簡化的匿名函式,可用於建立委託或表示式目錄樹。其次,你也可以將 lambda 表示式作為引數進行傳遞,或者將它作用於函式呼叫...

C C 知識回顧 繼承與介面

1.關於虛繼承 b繼承a,c繼承a,d同時繼承bc,則初始化d時將會產生兩個a。b虛繼承a,c虛繼承a,d同時繼承bc,則bc共用乙個a 2.關於多繼承的方法呼叫 class a class b class c public a,public b int main 3.在繼承的時候如果不指定publ...