久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      一維數(shù)組

      數(shù)組是一個由若干同類型變量組成的集合,引用這些變量時可用同一名字。數(shù)組均由連續(xù)的存儲單元組成,最低地址對應(yīng)于數(shù)組的第一個元素,最高地址對應(yīng)于最后一個元素,數(shù)組可以是一維的,也可以是多維的。
      一維數(shù)組的一般說明形式如下:
      type-specifiervar_name[size];
      在C語言中,數(shù)組必須顯示地說明,以便編譯程序為它們分配內(nèi)存空間。在上式中,類型說明符指明數(shù)組的類型,也就是數(shù)組中每一個元素個數(shù),一維數(shù)組的總字節(jié)數(shù)可按下式計算:
      sizeof(類型)*數(shù)組長度=總字節(jié)數(shù)
      [例5-1]將數(shù)字0到9裝入一個整型數(shù)組。
      main()
      {
      int x[10];/*定義包含10個整型數(shù)的數(shù)組,引用為x[0],x[1]…x[9]*/
      int t;
      for(t=0;t<10;++t)x[t]=t;
      }
      C語言并不檢驗數(shù)組邊界,因此,數(shù)組的兩端都有可能越界而使其它變量的數(shù)組甚至程序代碼被破壞。在需要的時候,數(shù)組的邊界檢驗便是程序員的職責(zé)。例如,當(dāng)使用gets()接收字符輸入時,必須確認字符數(shù)組的長度足以存放最長的字符串。
      一維數(shù)組在本質(zhì)上是由同類數(shù)據(jù)構(gòu)成的表,例如,對下列數(shù)組a:
      char a[7]
      圖5-1說明了數(shù)組a在內(nèi)存中的情形,假定起始地址為1000。
      一維數(shù)組
      5.1.1 向函數(shù)傳遞一維數(shù)組
      將一維數(shù)組傳遞給函數(shù)時,把數(shù)組名作為參數(shù)直接調(diào)用函數(shù)即可,無需任何下標(biāo)。這樣,
      數(shù)組的第一個元素的地址將傳遞給該函數(shù)。C語言并不是將整個數(shù)組作為實參來傳遞,而是用
      指針來代替它。例如,下面的程序?qū)?shù)組i的第一個元素的地址傳遞給函數(shù)func1( )。
      main( )
      {
      int i[10];
      func1(i); /*函數(shù)調(diào)用,實參是數(shù)組名* /
      .
      .
      .
      }
      函數(shù)若要接收一維數(shù)組的傳遞,則可以用下面的二種方法之一來說明形式參數(shù); 1) 有界
      數(shù)組;2) 無界數(shù)組。例如,函數(shù)func1 ( )要接收數(shù)組i可如下說明:
      f u n c 1 ( s t r )
      char str[10]; /* 有界數(shù)組,數(shù)組的下標(biāo)只能小于或等于傳遞數(shù)組的大小。* /
      {
      .
      .
      .
      }
      也可說明為:
      f u n c 1 ( s t r )
      char str[ ]; / * 無界數(shù)組* /
      {
      .
      .
      .
      }
      這二種說明方法的效果是等價的,它們都通知編譯程序建立一個字符指針。第一種說明
      使用的是標(biāo)準(zhǔn)的數(shù)組說明;后一種說明使用了改進型的數(shù)組說明,它只是說明函數(shù)將要接收
      一個具有一定長度的整型數(shù)組。細想就會發(fā)現(xiàn),就函數(shù)而言,數(shù)組究竟有多長并無關(guān)緊要,
      因為C語言并不進行數(shù)組的邊界檢驗。事實上,就編譯程序而言,下面的說明也是可行的。
      func1 (str);
      int str[32];
      {
      .
      .
      .
      }
      因為編譯程序只是產(chǎn)生代碼使函數(shù)func1( )接收一個指針,并非真正產(chǎn)生一個包含3 2個元
      素的數(shù)組。
      5.1.2 字符串使用的一維數(shù)組
      顯然,一維數(shù)組的最普通的用法是作為字符串。在C語言中,字符串被定義為一個以空字
      符終結(jié)的字符數(shù)組??兆址浴? 0’來標(biāo)識,它通常是不顯示的。因此,在說明字符數(shù)組時,
      必須比它要存放的最長字符串多一個字符。例如,假如要定義一個存放長度為1 0的字符串的
      數(shù)組s,可以寫成:
      char s[11];
      這樣就給字符串末尾的空字符保留了空間。
      盡管C語言并不把字符串定義為一種數(shù)據(jù)類型,但卻允許使用字符串常量。字符串常量是
      由雙引號括起來的字符表。例如,下面兩個短語均為字符串常量:
      “hello there”
      “this is a test”
      不必向字符串的末尾加空字符, C編譯程序會自動完成這一工作。
      C語言支持多串操作函數(shù),最常用的有:
      名字功能
      strcpy(s1 s2) 將s 2拷貝到s 1
      strcat(s1 s2) 將s 2連接到s 1的末尾
      s t r l e n ( s 1 ) 返回s 1的長度
      s t r c m p ( s 1,s 2 ) 若s 1與s 2相等,返回值為0
      若s 1 < s 2,返回值小于0
      若s 1 > s 2,返回值大于0
      例5 – 2說明了這些函數(shù)的用法。
      [例5 – 2 ]
      # include <stdio.h>
      main ( )
      {
      char s1[80],s2[80]; /*定義字符數(shù)組* /
      gets (s1); /*輸入字符串* /
      gets (s2);
      printf (“lengthsf: %d %d ,n”st r l e n ( s 1 ) ,st r l e n ( s 2 ) ) ;
      if (!strcmp(s1,s2))
      printf (“the strings are equal n”);
      s t r c a t ( s 1 ,s 2 ) ;
      printf (“%sn”,s 1 ) ;
      }
      切記,當(dāng)兩個串相等時,函數(shù)strcmp( )將返回Fa l s e,因而當(dāng)測試串的等價性時,要像前
      例中的那樣,必須用邏輯運算符!將測試條件取反。
      當(dāng)程序運行并以“h e l l o”和“h e l l o”這兩個串作為輸入時,其輸出為:
      R U N
      h e l l o
      h e l l o
      lengths:5 5
      The strings are equal
      h e l l o h e l l o

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號