C 零散知識

2021-06-26 22:56:20 字數 380 閱讀 6608

全域性變數的初始化時機: c 是在編譯期初始化, c++ 是在程式執行時, main 函式之前初始化.

不使用中間變數實現 strlen:

int mystrlen (const char *str)

c 語言函式引數入棧順序為從右至左。具體原因為:c 方式引數入棧順序(從右至左)的好處就是可以動態變化引數個數。通過棧堆分析可知,自左向右的入棧方式,最前面的引數被壓在棧底。除非知道引數個數,否則是無法通過棧指標的相對位移求得最左邊的引數。這樣就變成了左邊引數的個數不確定,正好和動態引數個數的方向相反。

因此,c 語言函式引數採用自右向左的入棧順序,主要原因是為了支援可變長引數形式。

c 中為什麼區域性變數比全域性變數快: 因為區域性變數儲存在棧中, 較容易 cache 被命中

零散知識收集

success在介面com.opensymphony.xwork2.action中定義,另外同時定義的還有error,input,login,none。值得一提的是struts 2.0中的result不僅僅是struts 1.x中forward的別名,它可以實現除forward外的很激動人心的功能,...

Python 零散知識

1.set 集合 2.格式化字串時 可以使用 元組 eg info zhangsan 18 print s 年齡是 d info 3.zip的 使用方法 a 1,2,3 b 4,5,6 c 4,5,6,7,8 zipped zip a,b 打包為元組的列表 1,4 2,5 3,6 zip a,c 元...

JVM 零散知識

年輕代大小選擇 響應時間優先的應用 盡可能設大,直到接近系統的最低響應時間限制。在此種情況下,年輕代收集發生的頻率也是最小的。同時,減少到達年老代的物件。吞吐量優先的應用 盡可能的設定大,可能到達 gbit 的程度。因為對響應時間沒有要求,垃圾收集可以並行進行,一般適合8cpuc上的應用 年老代大小...