<dfn id="is4kg"></dfn>
  • <ul id="is4kg"></ul>
  • <abbr id="is4kg"></abbr>
  • <ul id="is4kg"></ul>
    <bdo id="is4kg"></bdo>

    曙海教育集團(tuán)論壇開發(fā)語(yǔ)言培訓(xùn)專區(qū)C語(yǔ)言開發(fā) → 單片機(jī)的C語(yǔ)言中數(shù)組的用法


      共有7297人關(guān)注過本帖樹形打印

    主題:?jiǎn)纹瑱C(jī)的C語(yǔ)言中數(shù)組的用法

    美女呀,離線,留言給我吧!
    wangxinxin
      1樓 個(gè)性首頁(yè) | 博客 | 信息 | 搜索 | 郵箱 | 主頁(yè) | UC


    加好友 發(fā)短信
    等級(jí):青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊(cè):2010-11-12 11:08:23
    單片機(jī)的C語(yǔ)言中數(shù)組的用法  發(fā)帖心情 Post By:2010-12-10 10:12:35

    數(shù)組是由具有相同類型的數(shù)據(jù)元素組成的有序集合。數(shù)組是由數(shù)組名來表示的,數(shù)組中的數(shù)據(jù)由特定的下標(biāo)來唯一確定。引入數(shù)組的目的,是使用一塊連續(xù)的內(nèi)存空間存儲(chǔ)多個(gè)類型相同的數(shù)據(jù),以解決一批相關(guān)數(shù)據(jù)的存儲(chǔ)問題。數(shù)組與普通變量一樣,也必須先定義,后使用。數(shù)組在C51語(yǔ)言的地位舉足輕重,因此深入地了解數(shù)組是很有必要的。下面就對(duì)數(shù)組進(jìn)行詳細(xì)的介紹。

    1)一維數(shù)組

    一維數(shù)組是最簡(jiǎn)單的數(shù)組,用來存放類型相同的數(shù)據(jù)。數(shù)據(jù)的存放是線性連續(xù)的。

    用以下例程說明數(shù)組的建立、數(shù)據(jù)操作:

    [size=#]#include



    [size=#]unsigned char array[10];//定義一個(gè)有10個(gè)單元的數(shù)組


    [size=#]void main()

    [size=#]{

    [size=#]unsigned char i;

    [size=#]for(i=0;i<10;i++)

    [size=#]{

    [size=#]array=i; //用下標(biāo)調(diào)用數(shù)組中的元素

    [size=#]}


    [size=#]while(1);

    [size=#]}

    數(shù)組名是用來表示數(shù)組的標(biāo)識(shí),其實(shí)它是數(shù)組的首地址,即一個(gè)指針。不過它所表示的地址是固定的,不能改動(dòng)。如前幾章所述的相關(guān)內(nèi)容,array[2]*(array+2)是等效的,不過不能用array++,因?yàn)?font face="Times new=" Roman? New?>array是常量。

    上面[size=#]的程序中的數(shù)組是靜態(tài)建立的,以下例程來用說明數(shù)組的動(dòng)態(tài)建立。

    [size=#]#include

    [size=#]#include




    [size=#]unsigned char *parray;


    [size=#]void main()

    [size=#]{

    [size=#]unsigned char i;

    [size=#]parray=(unsigned char *)malloc(10); //動(dòng)態(tài)創(chuàng)建一個(gè)數(shù)組

    [size=#]for(i=0;i<10;i++)

    [size=#]{

    [size=#]parray=i; //向數(shù)組中賦值

    [size=#]}

    [size=#]free(parray); //釋放數(shù)組

    [size=#]while(1);

    [size=#]}

    [size=#]字符串是數(shù)組的一個(gè)重要特例。它的每個(gè)單元的數(shù)據(jù)均為字符類型(char),最后一個(gè)單元為'\0'0x00[size=#]),用來表示字符串的結(jié)束。C51函數(shù)庫(kù)中提供了專門對(duì)字符串進(jìn)行處理的函數(shù),用以下例程說明:

    [size=#]#include

    [size=#]#include




    [size=#]char s[]={'y','a','h','o','o','\0'};

    [size=#]//定義一個(gè)字符串,并對(duì)它進(jìn)行初始化,以'\0'結(jié)束


    [size=#]void main()

    [size=#]{

    [size=#]char s_temp[10];

    [size=#]strcpy(s_temp,s);//strcpy位于string.h頭文件中,實(shí)現(xiàn)字符拷貝

    [size=#]//s為一個(gè)常量,不能s++

    [size=#]strcpy(s_temp,"yahoo");//與上面的語(yǔ)句等效

    [size=#]while(1);

    [size=#]}

    [size=#]以下列出幾種字符串的靈活用法,希望能夠幫助讀者深入了解字符串:

    [size=#]#include

    [size=#]#include





    [size=#]char *get_sub_string(char *s,unsigned char n)

    [size=#]{

    [size=#]int i;int d=0;int fore=0;

    [size=#]int len=strlen(s);

    [size=#]for(i=0;i< FONT>

    [size=#]{

    [size=#]if(s==',')

    [size=#]{

    [size=#]s='\0';

    [size=#]d++;

    [size=#]if(d==n)

    [size=#]{

    [size=#]return s+fore;

    [size=#]}

    [size=#]else

    [size=#]{

    [size=#]fore=i+1;

    [size=#]}

    [size=#]}

    [size=#]}

    [size=#]return NULL;

    [size=#]}


    [size=#]void main()

    [size=#]{

    [size=#]unsigned char c;

    [size=#]char string[20];

    [size=#]c="yahoo"[2]; //c='h'


    [size=#]strcpy(string,"123,234,345,456");

    [size=#]strcpy(string,get_sub_string(string,2));

    [size=#]while(1);

    [size=#]}

    [size=#](2)二維數(shù)組

    [size=#]可由兩個(gè)下標(biāo)確定元素的數(shù)組就稱為二維數(shù)組。其定義的一般形式為:

    類型說明符 數(shù)組名[常量表達(dá)式1][常量表達(dá)式2]

    例如:int array[6][4];

    定義了一個(gè)二維數(shù)組array,有64列,共24個(gè)元素。

    兩個(gè)方括號(hào)中的常量表達(dá)1與常量表達(dá)式2規(guī)定了數(shù)組的行數(shù)與列數(shù),從而確定了數(shù)組中的元素個(gè)數(shù)。行下標(biāo)從0開始,最大為5,6;列下標(biāo)也從0開始,最大為3,共4列。數(shù)組中共有6X4=24個(gè)元素,具體如下表示:

    array[0][0]
    array[0][1]
    array[0][2]
    array[0][3]
    array[1][0]
    array[1][1]
    array[1][2]
    array[1][3]
    array[2][0]
    array[2][1]
    array[2][2]
    array[2][3]
    array[3][0]
    array[3][1]
    array[3][2]
    array[3][3]
    array[4][0]
    array[4][1]
    array[4][2]
    array[4][3]
    array[5][0]
    array[5][1]
    array[5][2]
    array[5][3]

    實(shí)際使用時(shí),可以把上述二維數(shù)組看作一個(gè)64列的矩陣,是一個(gè)平面的二維結(jié)構(gòu)。那么編譯程序是如何用一[size=#]維的存儲(chǔ)空間給這樣一個(gè)二維結(jié)構(gòu)分配連續(xù)的存儲(chǔ)單元的呢[size=#]C51采用按行存放的方法,即在內(nèi)存中先存放第0行元素,再存放第1行、第2行、......元素,每行中先存放第0列,接著存放第1列、第2列、......的元素。

    [size=#]#include

    [siz=#]#include




    [size=#]void main()

    [size=#]{


    支持(0中立(0反對(duì)(0單帖管理 | 引用 | 回復(fù) 回到頂部

    返回版面帖子列表

    單片機(jī)的C語(yǔ)言中數(shù)組的用法








    簽名
    主站蜘蛛池模板: 黄色免费在线网址| 亚洲欧美日韩中文久久| 黄页网址在线观看| 女人pp被扒开流水了| 久久香蕉国产视频| 欧美日韩乱妇高清免费| 又粗又黄又猛又爽大片免费| 韩国三级bd高清中文字幕合集| 天堂mv在线看中文字幕| 久久久久av综合网成人| 最近中文字幕高清中文字幕电影二 | 中国猛少妇色XXXXX| 日韩一区二区三| 亚洲欧美日韩一区在线观看| 理论亚洲区美一区二区三区| 国产亚洲欧美一区二区| 1卡二卡三卡四卡在线播放| 在线无码VA中文字幕无码| 中文字日本乱码| 日本最新免费二区| 亚洲国产精品sss在线观看AV | 国产乱子伦农村XXXX| 8x网站免费入口在线观看| 天堂中文资源网| 丰满人体bbw| 日本xxxx裸体bbbb| 亚洲人成77777在线观看网| 欧美精品久久天天躁| 十分钟在线观看免费视频www| 色吊丝最新在线播放网站| 国产欧美一区二区三区在线看| 99国产精品久久久久久久成人热 | 少妇粉嫩小泬喷水视频| 久久国产精品免费一区二区三区| 最近中文字幕mv图| 亚洲精品午夜国产va久久成人| 男人天堂网www| 啊~嗯~轻点~啊~用力村妇| 色婷五月综激情亚洲综合| 国产无套内射久久久国产| 8050午夜网|