閱讀241 返回首頁    go 阿裏雲 go 技術社區[雲棲]


c語言基礎(四)之指針

c語言指針常見錯誤

1.未經過初始化的指針變量,不能被使用

2.指針類型,需要根據不同的變量類型,定義不同的指針,不同的指針類型,不能相互轉化。

3.函數的變量不能跨函數使用。(不能使用指針去訪問已經失去作用範圍的變量。

                                                      如:主函數去使用子函數變量的值是不行的)

 

c語言*號的三種含義:

1.乘法

2.定義指針變量int* p;

3.指針運算符。

  //如果p是一個已經定義好的指針變量,則*p表示以p的內容為地址的變量

 

指針和數組之間的關係:

//java中定義一個數組 byte arr[],或byte[] arr

//c語言定義一個數組 int a[3];

如:Int a[5] = {1,2,3};

數組也是從0開始的。取第二個元素用a[1]。若沒有給a完全附初值,則默認為0;則取a[4]=0

所以a[0]和*a其實是同一個東西(*a就是*(a+0)),公式:p[i]等價於*(p+i)

確定一個數組,需要兩個參數:

1.數組名字

2.數組長度

其實定義一個數組,數組的名字,就是數組的首地址。

注意:在c語言中,不檢查數組的下標。如:取int a[10]=不確定的值(當前這塊空間裏的值)

            所以在c語言中,容易出現緩衝區越界的問題

 

最後更新:2017-04-02 17:28:41

  上一篇:go 模仿網易新聞圖片點擊放大效果
  下一篇:go 移動web app開發-----調試篇