*ptr += 12 應為*ptr = *ptr + 12;ptr++ ;
printf(「%d,%d\n」,a,b);printf的引數是從右向左計算。
運算子優先順序
(int&)a 相當於將變數a所在位址開始的sizeof(int)個位元組當成int型的資料輸出。
如果乙個運算元是long型,乙個是unsigned int型,那麼只有機器上的long型的長度足以存放unsigned int的所有值時(32位機一般不滿足),unsigned int 才會轉化為long型,否則兩個運算元都被提公升為unsignedlong型。若兩個運算元都不是long型而其中乙個是unsig int型,則另乙個也被轉換成unsigned int型,否則倆個運算元都一定是int型
unsigned char a = 0xa5;
unsigned char b = ~a>> 4+1;
計算上述表示式時,編譯器先把a和4 轉換成int型別()所謂整形提公升後再進行計算,當計算結果出來後,再把結果轉換成unsigned char 賦值給b
~ 優先》 和+ 。所以先取反,再進行加法運算,最後進行移位最後b = 250;
(x & y) + ( (x ^ y)>>1) 表示式用來計算x和y 的平均值。
交換a 和b 的值:1,a = a + b; b = a-b; a = a-b; 2,a = a ^ b; b = a ^ b; a = a ^ b;
const常量有資料型別,巨集沒有。編譯器對前者有型別安全檢查,後者僅進行字元替換,
對於n 位元組的元素,它的首位址能被n整除,才能獲得最好的效能。
空類所佔空間:
指標和引用的區別: 1,
非空區別,在任何情況下都不能使用指向空值的引用。使用引用的**效率比使用指標要高 2,
合法性區別。在使用引用之前不需要測試起合法性,但指標應該總是被測試,防止其為空。 3,
可修改區別。指標可以被重新賦值指向另乙個不同的物件。但是引用則總是指向在初始化被指定的物件,不能改變,但其指定的內容可以改。
證明引用的同時必須同時初始化。const常量賦值時必須同時初始化。
#include
void getmemory( char *p, int num) ;
int main()
getmemory中的*p實際上是主函式中的str的乙個副本,編譯器總是要為函式的每乙個引數製作臨時副本。
程式設計中很難發現錯誤的是迷途指標。迷途指標也叫懸浮指標、失控指標是當對乙個指標進行delete操作後——這樣會釋放他所指向的記憶體—並沒有把他設定為空產生的。
malloc/free new/delete
malloc與free是c++/c語言標準庫函式,new/delete是c++的運算子。他們都可以用於動態記憶體的申請與釋放。
對於非內部資料型別的物件而言,只用malloc/free無法滿足動態物件的要求。物件建立時要執行建構函式,消亡時要執行析構函式,malloc/free為庫函式,不在編譯器的控制許可權內,不能夠把執行建構函式和析構函式的任務強加於malloc/free. c++需要乙個完成動態記憶體分配和初始工作的運算子new
以上節選自:《程式設計師面試寶典》
程式設計師面試寶典
據統計,80 的簡歷都是不合格的。不少人事管理者抱怨收到的許多簡歷在格式上很糟糕。簡歷應該如何做到在格式上簡潔明瞭,重點突出?求職信應該如何有足夠的內容推銷自己?如何控制長度,言簡意賅?相信讀了本章你會對簡歷的撰寫有乙個新的認識。2.1 簡歷注意事項 1 簡歷不要太長 一般的簡歷普遍都太長。其實簡歷...
《程式設計師面試寶典》摘記
簡歷注意事項 1.簡歷不要太長 中文簡歷壓縮在 2頁左右就可以把所有的內容突出了。一般來說學習經歷應該從大學開始寫起。2.如實填寫。3.不要過分謙虛,不要把自己的一切包括弱項都寫進去。4.求職簡歷上一定要註明求職的職位。根據所申請的職位來設計,突出你在這方面的優點。編寫乙份或者幾份有針對性的簡歷。5...
程式設計師面試寶典一
1 int i i 首先宣告乙個變數i,然後將變數i的值 未初始化 賦值給自己 2 下面 的意義 void func int x,int count 求乙個整數轉換為二進位制之後包含多少個1 3 printf在vc6.0下是自右向左運算的 好像跟編譯器有關 int arr int ptr arr p...