寶典筆記
1. 不穩(wěn)定的排序:選擇,快速,希爾,堆排序不穩(wěn)定
2. 繼承性是面向?qū)ο笳Z(yǔ)言不同于其它語(yǔ)言之處(而不是多態(tài))
3. test* p=new test();
p=NULL;
p->hello(); //只要是test 類型的指針就能調(diào)用test 的成員函數(shù)前提是函數(shù)里沒(méi)有涉及到成員變量。
4. printf("%d, %d\n", *str, *(++str));
函數(shù)的參數(shù)是從右向左運(yùn)算的 所以兩個(gè)str指向的其實(shí)是相同的地方
5. unsigned char a=-0xA5;
unsigned cahr b=~a>>4;
因?yàn)? 編譯器在計(jì)算~a>>4的時(shí)候會(huì)先把a(bǔ)轉(zhuǎn)為int 原理: 低精度轉(zhuǎn)為高精度
>>運(yùn)算符的優(yōu)先級(jí)高于~ 所以是FFFFFFF5給了uchar b
b=0xF5
6. 在函數(shù)中
char str[] = "hello" 和 char *str = "hello"的區(qū)別
前者是放在棧中的數(shù)組, 后者是常量 放在全局區(qū) 所以前者函數(shù)返回會(huì)有問(wèn)題后者不會(huì) 可以改為 static char str[] = ... 就不會(huì)有問(wèn)題了
4. printf("%d, %d\n", *str, *(++str));
函數(shù)的參數(shù)是從右向左運(yùn)算的 所以兩個(gè)str指向的其實(shí)是相同的地方
5. unsigned char a=-0xA5;
unsigned cahr b=~a>>4;
因?yàn)? 編譯器在計(jì)算~a>>4的時(shí)候會(huì)先把a(bǔ)轉(zhuǎn)為int 原理: 低精度轉(zhuǎn)為高精度
>>運(yùn)算符的優(yōu)先級(jí)高于~ 所以是FFFFFFF5給了uchar b
b=0xF5
6. 在函數(shù)中
char str[] = "hello" 和 char *str = "hello"的區(qū)別
前者是放在棧中的數(shù)組, 后者是常量 放在全局區(qū) 所以前者函數(shù)返回會(huì)有問(wèn)題后者不會(huì) 可以改為 static char str[] = ... 就不會(huì)有問(wèn)題了
posted on 2011-09-24 00:06 lonelycastle 閱讀(62) 評(píng)論(0) 編輯 收藏 引用