C語言小細節(三)

2021-09-20 18:59:50 字數 632 閱讀 4232

//第一種

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 陣列只在定義它的語句塊記憶體在,...