在线中文-在线在线ccc66-在线永久免费观看的毛片-在线永久免费观看的a站视频-久久精品最新免费国产成人-久久精品综合一区二区三区

以文本方式查看主題

-  曙海教育集團(tuán)論壇  (http://www.bgl88.cn/bbs/index.asp)
--  C語(yǔ)言開(kāi)發(fā)  (http://www.bgl88.cn/bbs/list.asp?boardid=62)
----  單片機(jī)的C語(yǔ)言中數(shù)組的用法  (http://www.bgl88.cn/bbs/dispbbs.asp?boardid=62&id=2395)

--  作者:wangxinxin
--  發(fā)布時(shí)間:2010-12-10 10:12:35
--  單片機(jī)的C語(yǔ)言中數(shù)組的用法

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

1)一維數(shù)組

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

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

上面[size=#]的程序中的數(shù)組是靜態(tài)建立的,以下例程來(lái)用說(shuō)明數(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ù)均為字符類(lèi)型(char),最后一個(gè)單元為\'\\0\'0x00[size=#]),用來(lái)表示字符串的結(jié)束。C51函數(shù)庫(kù)中提供了專門(mén)對(duì)字符串進(jìn)行處理的函數(shù),用以下例程說(shuō)明:

[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ù)組。其定義的一般形式為:

類(lèi)型說(shuō)明符 數(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開(kāi)始,最大為5,6;列下標(biāo)也從0開(kāi)始,最大為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=#]{


主站蜘蛛池模板: av在线亚洲男人的天堂 | 国产资源免费 | 久久久久久99精品 | 人人爽人人爽人人片av | 成人四虎| 男人天堂网www | 在线观看网址入口2020国产 | 中国国产成人精品久久 | 丁香婷婷视频 | 亚欧美色| 伊人五月 | 在线综合视频 | 成人在线一区二区 | 激情九月婷婷 | 国产精品免费观看 | 亚洲精品资源 | 中文字幕免费在线观看动作大片 | 在线国产片| 久久久久免费 | 在线看污视频网站 | 亚洲四虎永久在线播放 | 国产乱在线观看视频 | 四虎久久影院 | 在线视频这里只有精品 | 一区二区三区无码高清视频 | 午夜在线免费视频 | www.五月激情 | 亚洲wwwwww | 男女免费高清在线爱做视频 | 亚洲视频在线观看视频 | 中文字幕热久久久久久久 | 亚洲欧美在线综合一区二区三区 | 欧美色视频网站 | 亚洲69视频 | 国产做出在线 | 传媒麻豆 | 看看的在线视频国产 | 欧美一级久久久久久久大 | 亚洲自拍色 | 羞羞视频免费网站在线看 | 国产成人精品久久一区二区三区 | 五月亭亭激情五月 |