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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

定义整型数组_C语言基础-数组怎么用

發布時間:2025/3/8 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 定义整型数组_C语言基础-数组怎么用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

到目前為止,我們了解到C語言中可以使用整型,浮點型和字符型的數據類型來描述我們人類世界的各種數據,但是這些還遠遠不夠……

我們在IOT領域經常會遇到這樣一個數據使用場景:某天的固定時間內,會有多臺(我們假定100臺)IOT終端上報某種類型的信息(我們假定是0-100°范圍內的溫度探測值)。現在知道了基本的數據類型,選擇unsigned char類型存儲一臺終端上報的溫度值就可以。但是如果這個設備是100臺呢?下面的定義方式貌似可行:

但是要是這個數量變得更多,比如1000臺的時候呢?咱們肯定會問,C語言中就沒有一種類似容器一樣的方案,可以通過某種機制去查找到指定的存放位置,從而節省定義數據需要的代碼行數呢?答案是有的,而且這種C語言的數據類型就是我們前面曾經提到的-數組類型。

【預備知識-索引】

索引,英文名index。通俗的講,就是容器內每個數據的位置標簽。用戶可以通過這些不同的位置標簽,找到對應位置存儲的數據。

索引0對應數據11,索引3對應數據44。在C語言中,所有的索引均從0開始計數,逐次加1。

【一維數組】

以上面100臺IOT設備上報溫度值場景為例,一維數組的定義方式如下:

  • 注1:數組長度100根據實際100個設備而定。索引值從0到99(100-1)共100個。
  • 注2:數組內的成員稱為數組元素,為相同數據類型。在本例中都為unsigned char類型。
  • 數組元素的引用:

    有了索引,我們可以找到100臺設備中任何一臺設備的對應值。比如:

    數組的初始化:

    • 部分初始化:

    unsigned char SensorTemp[100] = {1,10,11,22};

    注: 因為初始化值只有4個,只能完成對索引0,1,2,3四個元素進行賦值

    • 逐個初始化:

    SensorTemp[0] = 1;

    SensorTemp[1] = 10;

    SensorTemp[2] = 11;

    SensorTemp[4] = 22;

    • 全部初始化:

    unsigned char SensorTemp[4] = {1,10,11,22};

    如果出現如下未給定數組長度情況,則認為數組SensorTemp的長度為給定數據的個數:

    unsigned char SensorTemp[ ] = {1,10,11,22,33};

    【二維數組】

    解決了100臺設備數據存儲的問題,我們再提一個新的問題:如果需要我們上午和下午各存儲一次,如何實現呢?

    “再創建一個新的100個元素的數組不就解決了嘛”,很多朋友可能會提出這樣的方案。沒錯,但是當每天的采集點很多呢,難道還要繼續這樣做么?

    其實不需要的。C語言在數組的維度上進行了擴展,即可以定義高維度數組。對于該問題,我們可以考慮將01-06的采樣時間點作為一個新的維度,重新定義一個二維的數組來解決這個新的問題。

    具體這個二維數組里,數據的存放和二維數組中各個數據元素的含義如下圖所示:

    具體來看,二維數組的元素引用方式依然采用索引方式,只不過這次是兩個索引值。對于二維數組,可以將它想象成為一個矩陣形式,矩陣的行數由第一維長度決定,矩陣的列數由第二維長度決定。同樣,二維矩陣的初始化與一維矩陣類似,不再詳述。

    【字符數組和字符串】

    上面的例子中,我們存儲的都是具體的整型數據,但是往往在生活中,存儲的數據也不乏字符串。比如經典的“Hello world”。有人會說,那我一個char一個char的輸出不是也可以么?當然可以!但是,與本章中提出的第一個問題類似,當字符越來越多的時候,你還考慮一個char一個char的打印么?

    既然整型都可以使用數組技術,那么字符型呢?答案是肯定的。

    • 注:我們需要重點關注最后的0字符。
    • 這個字符占用數組元素一個索引計數
    • 這個字符要么初始化的時候主動賦值,要么系統添加,所以一定要注意定義的字符數組長度
    • 這個字符的作用:C語言中,認定該字符為字符串結束的標志

    【后記】

    C語言中的重頭戲,指針和指針數組,我們還是往后放放,這么早提指針,還是容易有心理壓力。

    其實對于數組,只要記住:第一,數組就是個數據存儲容器;第二,里面的元素都一樣的數據類型;第三,不管一維還是高維,拿索引檢索就好。

    總結

    以上是生活随笔為你收集整理的定义整型数组_C语言基础-数组怎么用的全部內容,希望文章能夠幫你解決所遇到的問題。

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