問題: 用一條語句讓程式崩潰?
面試官答案: int *p=0; *p=1;
1.int *p=0; //p指向了系統專用區了
*p=1; //不能修改其內容
//使用非法記憶體和指標都這樣
a. *(int*)0x0 = 0;
b. int * lp = (int *)0x80000000;
*lp = 0;
2.void f() //不明白啊
3.void f()//無窮遞迴
//類似的例如死迴圈都可以
struct a
};int main ()
4.char * pstr = "12345";
*(pstr + 2) = 'd'; //修改字串常量
總結:幾個核心重點:
1堆滿
2棧溢位
3指向核心**區的指標內容操作
4陣列指標的一切非法操作
幾個主要方式:1無窮遞迴 2強制型別轉換(隱式也可) 3狂new或狂delete 4取個隨機的指標數值變著玩
文章出處:diy部落(http://www.diybl.com/course/3_program/vc/vc_js/20090302/156551.html)
一條SQL語句研究
現有 select from t where a in 5,3,2,1,8,9,30.假設 a 是主鍵,in裡面的引數是唯一的。現要求輸出的結果集按照 in 提供的引數順序排序。而不是按照a本身的排序規則排序?另 如果不要求使用臨時表或表變數,那麼又有什麼辦法實現。臨時表方案參卡 create ta...
優化一條UPDATE語句
最近見到一條開發人員寫的update語句,覺得沒什麼不對,可又覺得有地方不對,因為效能低下.update a set col2,col3 select col1,t from b where b.col1 a.col1 where exists select b.col1 from b where ...
解讀一條SHELL語句
今天群裡有個哥們問道這麼一條語句 tar cf cd ltos tar xvpf 這條語句是什麼意思呢?這條語句的意思是 把當前目錄的檔案打包之後,又解包到lito目錄。下面我們把這條語句分解開,這樣就好理解了。tar cf cd ltos tar xvpf 這裡大家只要了解了一下三個知識點就好理解...