C教程-----數(shù)據(jù)類型、變量和運算符(4)

字號:

三、數(shù)組與指針
    數(shù)組與指針有密切的聯(lián)系。數(shù)組名本身就是該數(shù)組的指針, 反過來, 也可以把
    指針看成一個數(shù)組, 數(shù)組名和指針實質上都是地址, 但是指針是變量, 可以作運算。
    而數(shù)組名是常量, 不能進行運算。
    例如:
    main()
    {
    char s[30], *p; /*定義字符型數(shù)組和指針變量*/
    p=s; /*指針p指向數(shù)組s的第一個元素s[0]的地址*/
    .
    .
    .
    *(p+8); /*指針p指向數(shù)組s的第9個元素s[8]的地址*/
    .
    .
    .
    }
    由上例可以看出數(shù)組和指針有如下關系:
    (p+i)=&(s[i])
    *(p+i)=s[i]
    因此, 利用上述表達式可以對數(shù)組和指針進行互換。兩者的區(qū)別僅在于: 數(shù)組
    s是程序自動為它分配了所需的存儲空間; 而指針p則是利用動態(tài)分想函數(shù)為它分配
    存儲空間或賦給它一個已分配的空間地址。
    5. 運算符
    Turbo C的運算符非常豐富, 主要分為三大類: 算術運算符, 關系運算符與
    邏輯運算符, 按位運算符。除此之外, 還有一些用于完成特殊任務的運算符。下
    面分別進行介紹。
    5.1 算術運算符
    Turbo C的算術運算符如下:
    操作符 作用
    + 加, 一目取正
    - 減, 一目取負
    * 乘
    / 除
    % 取模
    -- 減1
    ++ 加1
    一、一目和二目操作
    一目操作是指對一個操作數(shù)進行操作。例如: -a是對a進行一目負操作。
    二目操作(或多目操作)是指兩個操作數(shù)(或多個操作數(shù))進行操作。
    在Turbo C中加、減、乘、除、取模的運算與其它高級語言相同。需要注意
    的是除法和取模運算。
    例如:
    15/2 是15除以2商的整數(shù)部分7
    15%2 是15除以2的余數(shù)部分1
    對于取模運算符"%", 不能用于浮點數(shù)。
    另外, 由于Turbo C中字符型數(shù)會自動地轉換成整型數(shù), 因此字符型數(shù)也可
    以參加二目運算。
    例如:
    main()
    {
    char m, n; /*定義字符型變量*/
    m=’c’; /*給m賦小寫字母’c’*/
    n=m+’A’-’a’; /*將c中的小寫字母變成大寫字母’B’后賦給n*/
    ...
    }
    上例中m=’c’即m=98, 由于字母A和a的ASCII碼值分別為65和97。這樣可以將
    小寫字母變成大寫字母, 反之, 如果要將大寫字母變成小寫字母, 則用c+ ’a’
    -’A’進行計算。