第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

全部開發(fā)者教程

C 語言入門教程

C 語言基礎(chǔ)教程
01 C 語言簡介 02 C 語言的程序結(jié)構(gòu) 03 C 語言的編譯 04 C 語言的標(biāo)準(zhǔn) 05 C 語言中的注釋 06 C 語言中的變量 07 C 語言中的變量類型 08 C 語言的常量 09 C 語言的輸入與輸出 10 C 語言中的 printf() 格式輸出 11 C 語言中的類型轉(zhuǎn)換 12 C 語言中的運算符 13 C 語言中的算數(shù)運算符 14 C 語言中的位運算符 15 C 語言中的邏輯運算符 16 C 語言中的三目運算符 17 C 語言中的分支結(jié)構(gòu) 18 C 語言中的多重分支 19 C 語言中的分支嵌套結(jié)構(gòu) 20 C 語言中的循環(huán)結(jié)構(gòu) 21 C 語言中的 while 循環(huán) 22 C 語言中的 do-While 循環(huán) 23 C 語言中的 for 循環(huán) 24 C 語言中的多重循環(huán)嵌套 25 循環(huán)實戰(zhàn),打印九九乘法表 26 C 語言中的break和continue 27 C 語言中的 if 語句 28 C 語言中的 switch/case 語句 29 C 語言中的函數(shù) 30 C 語言函數(shù)的定義和聲明 31 C 語言中函數(shù)的參數(shù)傳入類型 32 C 語言中的 main() 函數(shù)參數(shù) 33 make 工具 makefile 34 C 語言中的數(shù)組 35 C 語言中的多維數(shù)組 36 數(shù)組的練習(xí) 37 C 語言中的字符串 38 C 語言中的字符串函數(shù) 39 C 語言字符串練習(xí) 40 C 語言中的指針 41 C 語言中的 struct 42 C 語言中的 union 43 C 語言中的 maclloc free() 44 C 語言中的 enum 45 整體練習(xí)-學(xué)生管理系統(tǒng)

C 語言中的數(shù)組

數(shù)組是編程語言中用來存儲元素的集合。在 C 語言中,集合是儲存相同類型元素的集合。并且可以通過一個名稱來來訪。

--------------------------------------------
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | …… | N-1 |
--------------------------------------------
第一個元素                              最后一個元素

在數(shù)組中,數(shù)組的訪問是用索引位置 0 開始的,最后一個元素的位置的索引是 N-1。所以你存入的第一個元素的位置編號是 0 ,而不是 1 。請大家注意這點。

1. 數(shù)組的聲明

數(shù)組的聲明與變量的聲明十分類似,只不過需要在變量名的后面添加一對方括號。如同下面,我們聲明了一個可以包含 10 個整數(shù)的數(shù)組一樣。

int intArray[10];

在這種形式下,你必須指明指明數(shù)組的大小,也就是方括號中的數(shù)值。

或者你在初始化的時候使用大括號直接賦值,這樣就不用直接指明數(shù)組的大小。

int intArray[]={1,2,3,4,5};

雖然沒有指明數(shù)組的大小,但是其大小就是初始化的元素的數(shù)量。 C 語言中的數(shù)組一旦聲明,其大小是不可以變化的。

上面的方式可能是在之前教課書中看到的。

在 C99 標(biāo)準(zhǔn)中,引入了一種新的方式來聲明數(shù)組。就是使用變量。之前你可以使用常量來聲明。但是不可以使用變量。這次。規(guī)則發(fā)生了變化。你可以用變量來聲明。

int a=10, intArray[a];

2. 數(shù)組的初始化

數(shù)組的初始化其實就是將聲明和賦值合在一起。

上面一節(jié),我們用了直接初始化賦值來聲明數(shù)組變量,也就是

int intArray[]={1,2,3,4,5};

還有別的初始化方式。如下面的例子所示:

int intArray[10]={1,2,3,4,5};

你可以給數(shù)組的容積為 10 個整數(shù),但是只給前 5 個位置賦值。

這里根據(jù) C99 的標(biāo)準(zhǔn),還引入了更加高級的賦值方式。

int intArray[20]={1,2,3,4,5,[8]=8,9,10,11,[19]=19};

我們在這里聲明了一個整數(shù)數(shù)組,可以容納 20 個整數(shù)。前面 5 個位置,依次賦值 1、2、3、4、、5,這個時候我們跳過中間的 6 和 7 的位置,直接給第 8 個位置賦值為 8 ,然后后面的第 9 至 11 的位置依次賦值 9、10、11,最后再對第 19 個位置賦值為 19 。

數(shù)組與變量一樣,必須經(jīng)過初始化或者賦值才能使用。否則數(shù)組中的元素將是隨意存放的。

3. 數(shù)組的使用

數(shù)組的使用和變量的使用基本一致,只不過你面對的是一個集合,而不是一個單一的元素。因此,你要訪問其中的元素的話,就要使用變量名加索引位置的方式,也就是 intArray[4] = 9 這樣的方式進(jìn)行。

4. 示例

#include <stdio.h>

int main()
{
     int a = 10;
     int b[10];
     int c[] = {1, 2, 3, 4, 5};
     int d[10] = {1, 2, 3, 4, 5};
     int e[20] = {1, 2, 3, 4, 5, [8] = 8, 9, 10, 11, [19] = 19};
     int f[a];

     for (int i = 0; i < 10; i++)
     {
          printf("b[%d] = %d\n", i, b[i]);
     }

     for (int i = 0; i < 5; i++)
     {
          printf("c[%d] = %d\n", i, c[i]);
     }

     for (int i = 0; i < 10; i++)
     {
          printf("d[%d] = %d\n", i, d[i]);
     }

     for (int i = 0; i < 20; i++)
     {
          printf("e[%d] = %d\n", i, e[i]);
     }

     for (int i = 0; i < 10; i++)
     {
          printf("f[%d] = %d\n", i, f[i]);
     }

     return 0;
}

運行結(jié)果

b[0] = -692187488
b[1] = 32767
b[2] = -692187472
b[3] = 32767
b[4] = -1365075304
b[5] = 32673
b[6] = 0
b[7] = 0
b[8] = 0
b[9] = 0
c[0] = 1
c[1] = 2
c[2] = 3
c[3] = 4
c[4] = 5
d[0] = 1
d[1] = 2
d[2] = 3
d[3] = 4
d[4] = 5
d[5] = 0
d[6] = 0
d[7] = 0
d[8] = 0
d[9] = 0
e[0] = 1
e[1] = 2
e[2] = 3
e[3] = 4
e[4] = 5
e[5] = 0
e[6] = 0
e[7] = 0
e[8] = 8
e[9] = 9
e[10] = 10
e[11] = 11
e[12] = 0
e[13] = 0
e[14] = 0
e[15] = 0
e[16] = 0
e[17] = 0
e[18] = 0
e[19] = 19
f[0] = 0
f[1] = 0
f[2] = 1700966438
f[3] = 0
f[4] = -1365075304
f[5] = 32673
f[6] = -692187320
f[7] = 32767
f[8] = -692187264
f[9] = 32767

在上面的例子中,展示了數(shù)組的聲明,初始化和使用。通過循環(huán)語句逐個訪問數(shù)組中的元素,并將這個元素的值打印在屏幕上。

這里面還展示了如果不進(jìn)行初始化會發(fā)生什么,也就是數(shù)組中存儲的數(shù)據(jù)是不確定的。因此只有初始化的數(shù)組還有使用的價值。這個和很多編程語言是不同的。當(dāng)然,我們也可以在聲明完數(shù)組后直接使用,但是只能訪問自己賦值過的部分,因為沒有賦值過的部分值仍然是不確定的。

5. 小結(jié)

數(shù)組是程序中用來存儲相同類型元素的集合體。在 C 語言中數(shù)組只能用來存儲相同類型的元素。數(shù)組的索引是從 0 開始的,而不是我們數(shù)學(xué)中常用的 1 ,這點是當(dāng)年編程語言高度耦合硬件的殘留習(xí)慣。所以你要訪問的最后一個元素的索引是 N-1 ,其中 N 是你定義的數(shù)組的大小。訪問數(shù)組外的元素,也就是訪問的索引溢出是一個經(jīng)常發(fā)生的錯誤。很多黑客也會利用這點來訪問內(nèi)存中的未知位置。