0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

C程序設(shè)計(jì)基礎(chǔ)-數(shù)組與結(jié)構(gòu)體

汽車(chē)電子技術(shù) ? 來(lái)源:滑小稽筆記 ? 作者:滑小稽 ? 2023-03-02 10:10 ? 次閱讀

1、數(shù)組,結(jié)構(gòu)體和指針是C語(yǔ)言里面最難的部分,如果在編程中可以熟練的運(yùn)用這三樣工具,會(huì)大大地提高開(kāi)發(fā)效率,簡(jiǎn)化程序結(jié)構(gòu),提成代碼運(yùn)行速度。

2、數(shù)組

(1)C語(yǔ)言中的數(shù)組分為一維數(shù)組和二維數(shù)組,數(shù)組其實(shí)就是在計(jì)算機(jī)的內(nèi)存中給分配一塊空間,這個(gè)空間根據(jù)數(shù)組的數(shù)據(jù)類(lèi)型確定。

(2)一維數(shù)組:一維數(shù)組是最常用的形式,定義方式如下圖所示。

圖片

上面三種定義方法區(qū)別只是在給定初始值上,數(shù)組名是tab,數(shù)組類(lèi)型是char,上面三種方式都是定義了一個(gè)字符型名字叫做tab的數(shù)組,數(shù)組長(zhǎng)度12個(gè)字節(jié),第一個(gè)數(shù)據(jù)地址為0,數(shù)組里面數(shù)據(jù)調(diào)用的方法如下圖所示。

圖片

這段程序的運(yùn)行結(jié)果是在屏幕上打印出0這個(gè)數(shù)字。

(3)二維數(shù)組:二維數(shù)組用的地方不多,,定義方式如下圖所示。

圖片

上面三種方法都是定義二維數(shù)組的方式,都定義了一個(gè)2行7列的二維數(shù)組,數(shù)組名tab,數(shù)組類(lèi)型char,第一個(gè)中括號(hào)里面指定行的位置,第二個(gè)中括號(hào)里面指定列的位置,第一個(gè)元素是tab[0][0],元素排列如下表所示。

0 1 2 3 4 5 6
7 8 9 10 11 12 13

數(shù)組里面數(shù)據(jù)調(diào)用的方法如下圖所示。

圖片

這段程序的運(yùn)行結(jié)果是在屏幕上打印出9這個(gè)數(shù)字。

3、結(jié)構(gòu)體

(1)結(jié)構(gòu)體是由一批數(shù)據(jù)組合而成的一種新的數(shù)據(jù)類(lèi)型。組成結(jié)構(gòu)型數(shù)據(jù)的每個(gè)數(shù)據(jù)稱(chēng)為結(jié)構(gòu)型數(shù)據(jù)的“成員”,舉個(gè)學(xué)生信息的例子來(lái)說(shuō)明結(jié)構(gòu)體,一個(gè)學(xué)生信息最起碼需要有性別,姓名,年齡,家庭住址這些信息,而這些信息的數(shù)據(jù)類(lèi)型肯定是不一樣的,比如年齡的數(shù)據(jù)類(lèi)型一般就會(huì)用整型表示,但是性別,姓名這些就需要用字符串來(lái)表示(C語(yǔ)言中無(wú)法定義字符串變量,所以一般字符串變量就是用一維數(shù)組來(lái)實(shí)現(xiàn)),那么這個(gè)結(jié)構(gòu)體就應(yīng)該是:

struct 學(xué)生信息{

char姓名[3];

   int年齡;

};

(2)結(jié)構(gòu)體的創(chuàng)建方式如下圖所示。

圖片

方法如

上面是三種創(chuàng)建結(jié)構(gòu)體的方式,其中前兩種創(chuàng)建的結(jié)構(gòu)體名稱(chēng)就是Data1,里面有一個(gè)char類(lèi)型的20個(gè)字節(jié)的數(shù)組num和一個(gè)整型的result。但是第三種方法,由于使用了typedef,這個(gè)關(guān)鍵字的意思是給新的結(jié)構(gòu)體重新起一個(gè)名字,所以第三種方法實(shí)際是創(chuàng)建了一個(gè)新的Data類(lèi)型的結(jié)構(gòu)體,最后22行的Test才是這第三種方法創(chuàng)建的結(jié)構(gòu)體的名字。

(2)結(jié)構(gòu)體的引用:結(jié)構(gòu)體上面已經(jīng)創(chuàng)建好了,那么如何引用呢,結(jié)構(gòu)體引用的時(shí)候一般都是結(jié)構(gòu)體名稱(chēng)+”.”+元素名稱(chēng),如下圖所示。

下圖所

圖片

示。

注:無(wú)論結(jié)構(gòu)體用那種方式定義,通常引用都是這種格式(有一種特殊情況)

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • C語(yǔ)言
    +關(guān)注

    關(guān)注

    180

    文章

    7604

    瀏覽量

    136839
  • 編程
    +關(guān)注

    關(guān)注

    88

    文章

    3616

    瀏覽量

    93738
  • 數(shù)組
    +關(guān)注

    關(guān)注

    1

    文章

    417

    瀏覽量

    25947
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    周立功教你學(xué)C語(yǔ)言編程:結(jié)構(gòu),使程序設(shè)計(jì)更方便——內(nèi)置函數(shù)指針和嵌套結(jié)構(gòu)

    我們知道,數(shù)組和指針是相同類(lèi)型有序數(shù)據(jù)的集合,但很多時(shí)候需要將不同類(lèi)型的數(shù)據(jù)捆綁在一起作為一個(gè)整體來(lái)對(duì)待,使程序設(shè)計(jì)更方便。在C語(yǔ)言中,這樣的一組數(shù)據(jù)被稱(chēng)為結(jié)構(gòu)
    的頭像 發(fā)表于 09-06 09:27 ?9613次閱讀
    周立功教你學(xué)<b class='flag-5'>C</b>語(yǔ)言編程:<b class='flag-5'>結(jié)構(gòu)</b><b class='flag-5'>體</b>,使<b class='flag-5'>程序設(shè)計(jì)</b>更方便——內(nèi)置函數(shù)指針和嵌套<b class='flag-5'>結(jié)構(gòu)</b><b class='flag-5'>體</b>

    C語(yǔ)言中數(shù)組結(jié)構(gòu)的內(nèi)存表示和布局

    C語(yǔ)言中,數(shù)組結(jié)構(gòu)都可以代表一塊內(nèi)存,但為什么結(jié)構(gòu)可以直接賦值,而
    發(fā)表于 08-28 10:54 ?1615次閱讀

    C程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)書(shū)

    本書(shū)重點(diǎn)講述了C語(yǔ)言程序設(shè)計(jì)以下幾個(gè)方面的內(nèi)容,包括順序結(jié)構(gòu),選擇結(jié)構(gòu),循環(huán)結(jié)構(gòu),數(shù)組,函數(shù),指
    發(fā)表于 06-21 09:38 ?0次下載

    C語(yǔ)言程序設(shè)計(jì)介紹

    包括:C 語(yǔ)言概述,算法基礎(chǔ),數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式,順序 結(jié)構(gòu)程序設(shè)計(jì),選擇結(jié)構(gòu)程序設(shè)計(jì),循環(huán)結(jié)構(gòu)
    發(fā)表于 02-17 15:49 ?0次下載

    多分支選擇結(jié)構(gòu)程序設(shè)計(jì)的思想與實(shí)現(xiàn)方法

    第二章為程序設(shè)計(jì)技術(shù),本文為2.2.5 結(jié)構(gòu)數(shù)組。
    的頭像 發(fā)表于 09-14 14:14 ?5996次閱讀
    多分支選擇<b class='flag-5'>結(jié)構(gòu)</b><b class='flag-5'>程序設(shè)計(jì)</b>的思想與實(shí)現(xiàn)方法

    C程序設(shè)計(jì)的詳細(xì)中文資料免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是C程序設(shè)計(jì)的詳細(xì)中文資料免費(fèi)下載內(nèi)容包括了: 程序設(shè)計(jì)C語(yǔ)言,算法---程序的靈魂,最簡(jiǎn)單的
    發(fā)表于 08-01 08:00 ?0次下載

    C語(yǔ)言程序設(shè)計(jì)教程之二維數(shù)組如何應(yīng)用二維數(shù)組的資料概述

    本文檔的主要內(nèi)容詳細(xì)介紹的是C語(yǔ)言程序設(shè)計(jì)教程之二維數(shù)組如何應(yīng)用二維數(shù)組的資料概述主要內(nèi)容包括了:1 了解二維數(shù)組2 二維
    發(fā)表于 10-26 16:48 ?3次下載

    C語(yǔ)言程序設(shè)計(jì)教程之數(shù)組的詳細(xì)資料說(shuō)明

    本文檔詳細(xì)介紹的是C語(yǔ)言程序設(shè)計(jì)教程之數(shù)組的詳細(xì)資料說(shuō)明主要內(nèi)容包括了:1 一維數(shù)組,2 二維數(shù)組,3 字符
    發(fā)表于 01-25 15:44 ?7次下載
    <b class='flag-5'>C</b>語(yǔ)言<b class='flag-5'>程序設(shè)計(jì)</b>教程之<b class='flag-5'>數(shù)組</b>的詳細(xì)資料說(shuō)明

    C語(yǔ)言程序設(shè)計(jì)教程之結(jié)構(gòu)與共用的詳細(xì)資料說(shuō)明

    本文檔詳細(xì)介紹的是C語(yǔ)言程序設(shè)計(jì)教程之結(jié)構(gòu)與共用的詳細(xì)資料說(shuō)明主要內(nèi)容包括了:1 結(jié)構(gòu)
    發(fā)表于 03-01 17:20 ?11次下載
    <b class='flag-5'>C</b>語(yǔ)言<b class='flag-5'>程序設(shè)計(jì)</b>教程之<b class='flag-5'>結(jié)構(gòu)</b><b class='flag-5'>體</b>與共用<b class='flag-5'>體</b>的詳細(xì)資料說(shuō)明

    C++程序設(shè)計(jì)教程之數(shù)組的詳細(xì)資料說(shuō)明

    本文檔詳細(xì)介紹的是C++程序設(shè)計(jì)教程之數(shù)組的詳細(xì)資料說(shuō)明主要內(nèi)容包括了:1. 數(shù)組的概念,2. 一維數(shù)組的定義和引用,3. 二維
    發(fā)表于 03-14 14:48 ?10次下載
    <b class='flag-5'>C</b>++<b class='flag-5'>程序設(shè)計(jì)</b>教程之<b class='flag-5'>數(shù)組</b>的詳細(xì)資料說(shuō)明

    C語(yǔ)言程序設(shè)計(jì)全套培訓(xùn)課件免費(fèi)下載

    選擇結(jié)構(gòu)程序設(shè)計(jì),第6章 循環(huán)控制,第7章 數(shù)組,第8章 函數(shù),第9章 預(yù)處理命令,第10章 指針,第11章 結(jié)構(gòu)與共用
    發(fā)表于 09-21 08:00 ?1次下載
    <b class='flag-5'>C</b>語(yǔ)言<b class='flag-5'>程序設(shè)計(jì)</b>全套培訓(xùn)課件免費(fèi)下載

    C語(yǔ)言程序設(shè)計(jì)的學(xué)習(xí)課件免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是C語(yǔ)言程序設(shè)計(jì)的學(xué)習(xí)課件免費(fèi)下載包括了:第一章C語(yǔ)言概述,第二章算法,第三章數(shù)據(jù)描述,第4章最簡(jiǎn)單的C程序設(shè)計(jì),
    發(fā)表于 01-11 08:00 ?2次下載
    <b class='flag-5'>C</b>語(yǔ)言<b class='flag-5'>程序設(shè)計(jì)</b>的學(xué)習(xí)課件免費(fèi)下載

    Keil使用結(jié)構(gòu)數(shù)組的奇怪問(wèn)題

    今天用keil的時(shí)候發(fā)現(xiàn)一個(gè)很奇怪的點(diǎn),是關(guān)于結(jié)構(gòu)數(shù)組的。首先說(shuō)明我的keil版本是:V5.28.0.0問(wèn)題是這樣的:我在a.h文件定義了一個(gè)結(jié)構(gòu)
    發(fā)表于 11-21 16:36 ?3次下載
    Keil使用<b class='flag-5'>結(jié)構(gòu)</b><b class='flag-5'>體</b><b class='flag-5'>數(shù)組</b>的奇怪問(wèn)題

    C語(yǔ)言程序設(shè)計(jì)第四講結(jié)構(gòu)程序設(shè)計(jì)之選擇

    C語(yǔ)言程序設(shè)計(jì)第四講結(jié)構(gòu)程序設(shè)計(jì)之選擇
    發(fā)表于 12-22 10:34 ?0次下載

    C程序設(shè)計(jì)入門(mén)筆記之數(shù)組結(jié)構(gòu)

    數(shù)組,結(jié)構(gòu)和指針是C語(yǔ)言里面最難的部分,如果在編程中可以熟練的運(yùn)用這三樣工具,會(huì)大大地提高開(kāi)發(fā)效率,簡(jiǎn)化程序結(jié)構(gòu),提成代碼運(yùn)行速度。
    的頭像 發(fā)表于 03-02 10:13 ?674次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>程序設(shè)計(jì)</b>入門(mén)筆記之<b class='flag-5'>數(shù)組</b>與<b class='flag-5'>結(jié)構(gòu)</b><b class='flag-5'>體</b>