最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語言全方位講解數(shù)組的使用

 更新時間:2022年04月13日 09:25:34   作者:小劉好好學(xué)習(xí)  
數(shù)組是一組有序的數(shù)據(jù)的集合,數(shù)組中元素類型相同,由數(shù)組名和下標(biāo)唯一地確定,數(shù)組中數(shù)據(jù)不僅數(shù)據(jù)類型相同,而且在計算機內(nèi)存里連續(xù)存放,地址編號最低的存儲單元存放數(shù)組的起始元素,地址編號最高的存儲單元存放數(shù)組的最后一個元素

接著上次的操作符的詳解,讓我們來簡單了解C語言里的數(shù)組。

一維數(shù)組的創(chuàng)建和初始化

1.數(shù)組的創(chuàng)建

數(shù)組是一組相同類型的元素的集合。

2.數(shù)組創(chuàng)建方式 

type_t(數(shù)組類型) arr_name(數(shù)組名) [const_n](用來指定數(shù)組大小)

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

數(shù)組的初始化是在其定義的時候就應(yīng)該執(zhí)行的,如:為5個已經(jīng)知道的整形數(shù)據(jù)進行排序

//正確
int Arr[5] = { 1, 2, 3, 4, 5 };
//而不能用下面這種方式
int Arr[5];
Arr[5] = { 1, 2, 3, 4, 5 };

因為對于 Arr[5] = 來說,這是一個賦值操作,將右值賦值給左值,一切常數(shù)、字符和字符串都是右值。在這里 { 1, 2, 3, 4, 5 }; 并不是右值的一種,所以這是錯誤的。

另一個錯誤是,Arr[5] 下標(biāo)為 5 這個元素實際上并不存在的屬于數(shù)組的越界。

有數(shù)字類型的初始化,自然也有字符類型的初始化

字符類型初始化的兩種方式:

char arr[5]={'a','b','c','d','e'};
char arr[5]= "abcde ";

1.空字符是字符串的終止符(空字符本身不是字符串的一部分,所以字符串的長度并不包含空字符)

2.操作字符串時,必須保證字符串以空字符(\0)結(jié)尾(不以空字符結(jié)尾的字符序列,不是字符串)。

一維數(shù)組的使用

用單引號形式初始化的數(shù)組代表只有這些數(shù)據(jù),并且在末端不包含\0

總結(jié)

  • 數(shù)組是使用下標(biāo)來訪問的,下標(biāo)是從0開始。
  • 數(shù)組的大小可以通過計算得到。
  • Int sz = sizeof(arr)/sizeof(arr[0])

一維數(shù)組的存儲

當(dāng)我們定義了長度為5的整型數(shù)組,操作系統(tǒng)就會為其分配連續(xù)的五個內(nèi)存地址。

這些地址用來存放數(shù)據(jù),每一個地址所占的字節(jié)是數(shù)組的數(shù)據(jù)類型所決定的。 如int類型的每一個地址占據(jù)著4個字節(jié),double類型的8個。

因為每個整形大小為四個字節(jié),所以如圖每個地址間隔為4。

講完了一維數(shù)組的知識點,讓我們簡單了解一下二維數(shù)組

二維數(shù)組的創(chuàng)建與初始化 

1.二維數(shù)組的創(chuàng)建

第一個括號指定行,第二個括號指定列

可以只對部分元素賦值,未賦值的元素自動取“零”值。例如:

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

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

第一行:123 第二行:45

二維數(shù)組的列不能省略行可以在括號內(nèi)大括號分割明確時省略

二維數(shù)組的存儲

二維數(shù)組在內(nèi)存中的存儲

如果定義一個這樣的二維數(shù)組int a[3][4]={undefined{1,3,5,7},{9,11,13,15},{17,19,21,23}};則其在內(nèi)存中的表示可能下面這樣的。

由上圖可以看出,在內(nèi)存中二維數(shù)組是按照行主序進行存儲的,從內(nèi)存的角度上看,二維數(shù)組本質(zhì)就是一個一維數(shù)組。如果把二維數(shù)組的每一行看成一個整體,即看成一個數(shù)組中的一個元素,那么整個二維數(shù)組就是一個一維數(shù)組。而二維數(shù)組的名字代表二維數(shù)組第0行的首地址(注意它是代表一行元素的首地址,而不是第0行第0列元素的首地址,雖然是相等的,但不能這么理解,所以在沒有強制轉(zhuǎn)換的情況下,二維數(shù)據(jù)要么通過行指針進行參數(shù)傳遞,要么通過二維指針進行參數(shù)傳遞)。 

數(shù)組的越界

這里講的數(shù)組長度存在一個界,而一旦超過了這個大小,就會發(fā)生一些未知的錯誤,也就是所謂的越界

這里用一個例子來說明下越界后數(shù)組內(nèi)部的值的情況:

根據(jù)代碼可知,當(dāng)數(shù)組越界后,其數(shù)值是不確定的。

總結(jié) 

以上就是初階數(shù)組的基本內(nèi)容。如果你讀到了這里,非常感謝你能看完的文章?。?!

到此這篇關(guān)于C語言全方位講解數(shù)組的使用的文章就介紹到這了,更多相關(guān)C語言 數(shù)組內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C++實現(xiàn)N個骰子的點數(shù)算法

    C++實現(xiàn)N個骰子的點數(shù)算法

    這篇文章主要介紹了C++實現(xiàn)N個骰子的點數(shù)算法,用兩種方法實現(xiàn)了該功能,是非常實用的技巧,需要的朋友可以參考下
    2014-09-09
  • 深入解析C++編程中的靜態(tài)成員函數(shù)

    深入解析C++編程中的靜態(tài)成員函數(shù)

    這篇文章主要介紹了深入解析C++編程中的靜態(tài)成員函數(shù),是C++入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-09-09
  • C++利用eigen庫實現(xiàn)求歐拉角

    C++利用eigen庫實現(xiàn)求歐拉角

    這篇文章主要為大家詳細(xì)介紹了C++如何利用eigen庫自帶的matrix.eulerAngles()函數(shù)實現(xiàn)求歐拉角,文中的示例代碼講解詳細(xì),有需要的小伙伴可以參考下
    2023-11-11
  • 詳解C++11強類型枚舉

    詳解C++11強類型枚舉

    這篇文章主要介紹了C++11強類型枚舉的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)c++11,感興趣的朋友可以了解下
    2020-08-08
  • C語言實現(xiàn)UDP通信

    C語言實現(xiàn)UDP通信

    這篇文章主要為大家詳細(xì)介紹了C語言實現(xiàn)UDP通信,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • C++ 三種繼承方式及好處示例詳解

    C++ 三種繼承方式及好處示例詳解

    這篇文章主要為大家介紹了C++ 三種繼承方式及好處示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-04-04
  • 用C語言程序判斷大小端模式

    用C語言程序判斷大小端模式

    本文介紹了用C語言程序判斷大小端的方法,與大家分享一下。
    2013-04-04
  • Qt?QPainter的使用方法

    Qt?QPainter的使用方法

    QPainter是Qt的一個繪圖類,它的主要任務(wù)是在繪圖設(shè)備上進行2D圖形渲染,本文主要介紹了Qt?QPainter的使用方法,具有一定的參考價值,感興趣的可以了解一下
    2024-03-03
  • C語言構(gòu)建連連看游戲(矩陣方式)

    C語言構(gòu)建連連看游戲(矩陣方式)

    這篇文章主要為大家詳細(xì)介紹了C語言構(gòu)建連連看游戲,采用矩陣方式,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • C/C++詳解實現(xiàn)二層轉(zhuǎn)發(fā)

    C/C++詳解實現(xiàn)二層轉(zhuǎn)發(fā)

    數(shù)據(jù)鏈路層是開放系統(tǒng)互連 (OSI) 模型中的第二層,該層用于通過 LAN 等單一網(wǎng)絡(luò)進行通信的節(jié)點,第二層數(shù)據(jù)包不能從一個網(wǎng)絡(luò)傳輸?shù)搅硪粋€網(wǎng)絡(luò)。而二層轉(zhuǎn)發(fā)是根據(jù)報文的目的MAC直接進行轉(zhuǎn)發(fā),轉(zhuǎn)發(fā)過程中不用對報文的頭部做任何的修改
    2022-05-05

最新評論

栖霞市| 嘉兴市| 柯坪县| 遵化市| 闽侯县| 许昌市| 城步| 上虞市| 宜兰市| 扎赉特旗| 光山县| 邵东县| 巫山县| 紫金县| 彝良县| 察哈| 宁蒗| 峨边| 呈贡县| 临夏市| 威信县| 安阳市| 郑州市| 全南县| 突泉县| 益阳市| 乐陵市| 农安县| 阜宁县| 柞水县| 罗田县| 新安县| 察雅县| 九江县| 阿拉善左旗| 保亭| 新龙县| 东平县| 沙雅县| 长治市| 鄂州市|