日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

C语言第六讲,数组

發布時間:2025/4/9 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言第六讲,数组 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

          C語言第六講,數組

一丶什么是數組

數組,就是一整塊的連續內存空間.

且類型都是一樣的.大小一樣

比如:

  

1.1數組元素的訪問

我們要訪問數組,例如上面,我們訪問元算2,元素3等等怎么訪問..

比如有一個數組為:

  

int Arry[3] = {1,2,3}; //數組定義初始化. Arry[0] = 1; Arry[1] = 2; //數組的訪問 ......

利用下標來進行訪問.

利用程序來進行訪問

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

動態的大小識別.

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

這里用到了一個關鍵字,Sizeof,?sizeof關鍵字是求大小的關鍵字.?例如我們求數組的總大小.?然后?利用總大小?除以數組元素個數的大小.?就得出來了數組的個數.

1.2一維數組的聲明

在C語言中,或者C++語言中,我們要聲明數組.?不用考慮在哪里開辟,開辟多大的問題,只需要你給我一個大小.我編譯器自動的來進行開辟內存空間供你使用.

類型 數組名[數組元素的個數] 例如:int Ary[3]; //定義一個Ary的數組,有3個元素.

注意,聲明的時候是個數.也就是說數組有3個元素.? 但是訪問的時候是下表.從0開始訪問

例如:

  

ary[0] = 1; ary[1] = 2; ary[2] = 3;總共有三個.

聲明的時候則是告訴編譯器,?我聲明的類型是?int類型,數組名字數Ary,個數是3個.?那么這個數組所占的內存空間則是? 3 * 4 = 12個字節大小.

公式計算:

  3(數組元素個數) *?類型? =?內存空間所占大小.

1.3數組應該注意的問題.

在C語言中,數組的聲明不支持動態聲明.

什么意思?

  也就是說,你需要給定我個數.我來進行申請.但是你不能把這個個數給一個變量保存.讓我跟隨變量來申請.

例如:

  

int nCount = 10; int Ary[nCount]; //錯誤的

?

數組的定義可以和普通成員變量的定義放在一起.

例如:

  

int A, ary[5],b;

?

二丶數組初始化

上面我們雖然定義了數組.但是并沒有仔細講解數組的初始化

數組的初始化常用的有三種.

第一種,?大括號初始化.

int Ary[3] = { 1, 2 ,3}; //數組中的元素1,元素2,元素三分別初始化為了1,2,3

第二種.全部初始化.

int Ary[3] = {0}; //數組的每個元素全部初始化為了0

第三種,不確定個數的初始化.

int Ary[] = { 1, 2, 3} ;//有的時候你并不知道你的數組有多大. 但是又不用動態的申請空間. 所以這樣寫會默認有3個元素.

?三丶二維數組和高維數組

有的時候一維數組并不能滿足我們的需求.

這個是否就需要更高維的數組了.

例如:

  

int Ary[2][2]; 定義二維數組

這樣則聲明了一個二維數組.?代表我們申請了 2行 2列的數組.?大小是 2*2的矩陣.??

這幾個元素分別是:

  

Ary[0][0] Ary[0][1] Ary[1][0] Ary[1][1]

二維數組的定義初始化.

int nNum[2][2] = {{0,1},{2,3}}; 使用兩個括號即可.

二維數組對部分元素進行初始化.

int nNum[2][2] = {{1},{0}};

二維數組的訪問

二維數組本質是一維數組.但是為了理解.所以說成是二維數組.

我們利用程序來對其進行訪問.

二維數組初始化int Ary[3][4] = {0};for (int i = 0; i < 3; i++){for (int j = 0; j < 4; j++){Ary[i][j] = i + j; //重要語句. i是行,j是列}} 二維數組輸出for (int i = 0; i < 3; i++ ){for (int j = 0; j < 4; j++){printf(" %d", Ary[i][j]);}puts("\r\n");}

輸出結果.

?

高維數組則一樣,不過一般用不到高維數組.

?

轉載于:https://www.cnblogs.com/iBinary/p/8472606.html

總結

以上是生活随笔為你收集整理的C语言第六讲,数组的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。