C語言基礎教程(二)數(shù)據(jù)類型、變量和運算符(13)

字號:

三、數(shù)組與指針
     數(shù)組與指針有密切的聯(lián)系。數(shù)組名本身就是該數(shù)組的指針, 反過來, 也可以把
    指針看成一個數(shù)組, 數(shù)組名和指針實質(zhì)上都是地址, 但是指針是變量, 可以作運算。
    而數(shù)組名是常量, 不能進行運算。
     例如:
     main()
     {
     char s[30], *p; /*定義字符型數(shù)組和指針變量*/
     p=s; /*指針p指向數(shù)組s的第一個元素s[0]的地址*/
     .
     .
     .
     *(p+8); /*指針p指向數(shù)組s的第9個元素s[8]的地址*/
     .
     .
     .
     }
     由上例可以看出數(shù)組和指針有如下關(guān)系:
     (p+i)=&(s[i])
     *(p+i)=s[i]
     因此, 利用上述表達式可以對數(shù)組和指針進行互換。兩者的區(qū)別僅在于: 數(shù)組
    s是程序自動為它分配了所需的存儲空間; 而指針p則是利用動態(tài)分想函數(shù)為它分配
    存儲空間或賦給它一個已分配的空間地址。