//第一種
int a;
int *p = &a; //在初始化時另p指向int a的
*p = 1;
//第二種
int a;
int *p; //先定義乙個指標p
p = &a; //再另其指向a
*p = 1;
int arr[6] = ;
int *pa = arr; //初始化指標pa指向陣列arr[6]的第乙個元素
int *pb; //初始化指標pb
pb = arr; //令其指向arr[6]的第乙個元素
指標的賦值:將乙個指標的值賦給另乙個指標,其實是讓兩個指標指向了同乙個記憶體區域
空指標:int *p=null為常規寫法
邊界計算:在c語言中的陣列下標或者計數一般都從0開始,如果需要計數n次則計數到<=n結束
求值順序:c語言中&&、||、?:和,存在規定的求值順序
a?b:c只有在a計算出具體值後對b或c進行求值
,則是先計算左側,後將結果捨棄,計算右側的值
函式main的返回值:大多數c語言實現都是通過函式main的返回值來告知作業系統該函式的執行是否成功,典型的返回0為程式執行成功,返回非0為程式執行失敗
C語言中的小細節
1.位溢位 int和long現在都是4個位元組,不過現在的c裡面都沒給出乙個越界溢位的api函式,得自己注意 a 0xffffffff,b 0xffffffff 然後 a b,或者a b都會溢位,但是這樣的一處float和double都會遇到 在asm裡面會用jo和jno來判斷溢位標誌位 2.uns...
C語言while的小細節
最近幾天在看 cpr imer plus c primer plus cprime rplu s 的第五章 運算子 表示式和語句,看到思考題第八題的時候,發現了乙個以前可能會忽略的點。題目如下 下面的程式將列印出什麼內容?problem include intmain return0 很顯然,列印1...
C 中的各種小細節 三
十 一 建立陣列的兩種形式 形式一 define n 10 int a n int n 10 int b n 編譯報錯 注意這種定義陣列的形式有很多缺點,例如 1 陣列的長度必須是在編譯時就知道的,即陣列的長度不能改變,在定義陣列指定陣列的長度值必須為乙個常量值,2 陣列只在定義它的語句塊記憶體在,...