资源描述:
《单片机的c语言中数组的用法》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、单片机的C语言中数组的用法作者:郭天祥 来源:转自 更新时间:2008-12-421:59:48 浏览次数:12772数组是由具有相同类型的数据元素组成的有序集合。数组是由数组名来表示的,数组中的数据由特定的下标来唯一确定。引入数组的目的,是使用一块连续的内存空间存储多个类型相同的数据,以解决一批相关数据的存储问题。数组与普通变量一样,也必须先定义,后使用。数组在C51语言的地位举足轻重,因此深入地了解数组是很有必要的。下面就对数组进行详细的介绍。(1)一维数组一维数组是最简单的数组,用来存放类型相同的数据。数据的
2、存放是线性连续的。用以下例程说明数组的建立、数据操作:#include/*-----------------------------------------------------此程序用以说明数组的建立、数据操作-----------------------------------------------------*/unsignedchararray[10];//定义一个有10个单元的数组voidmain(){unsignedchari;for(i=0;i<10;i++){array[i]=i;//用下标调用数组中的元素}/*
3、---------------------------------------array
4、9
5、8
6、7
7、6
8、5
9、4
10、3
11、2
12、1
13、0
14、[9]~[0]---------------------------------------*/while(1);}数组名是用来表示数组的标识,其实它是数组的首地址,即一个指针。不过它所表示的地址是固定的,不能改动。如前几章所述的相关内容,array[2]与*(array+2)是等效的,不过不能用array++,因为array是常量。上面的程序中的数组是静态建立的,以下例程来用说明数组的动态建立。#inc
15、lude#include/*-----------------------------------------------------此程序用以说明数组的动态建立-----------------------------------------------------*/unsignedchar*parray;voidmain(){unsignedchari;parray=(unsignedchar*)malloc(10);//动态创建一个数组for(i=0;i<10;i++){parray[i]=i;//向数组中赋值}free(p
16、array);//释放数组while(1);}字符串是数组的一个重要特例。它的每个单元的数据均为字符类型(char),最后一个单元为' '(0x00),用来表示字符串的结束。C51函数库中提供了专门对字符串进行处理的函数,用以下例程说明:#include#include/*-----------------------------------------------------此程序用以说明字符串-----------------------------------------------------*/chars[]={'y',
17、'a','h','o','o',' '};//定义一个字符串,并对它进行初始化,以' '结束voidmain(){chars_temp[10];strcpy(s_temp,s);//strcpy位于string.h头文件中,实现字符拷贝//s为一个常量,不能s++strcpy(s_temp,"yahoo");//与上面的语句等效while(1);}以下列出几种字符串的灵活用法,希望能够帮助读者深入了解字符串:#include#include/*-------------------------------------------
18、----------此程序用以说明字符串的灵活运用-----------------------------------------------------*//*-----------------------------------------------------此函数从字符串s中提取第n个子串,子串间由','分隔返回指向该子串的指针-----------------------------------------------------*/char*get_sub_string(char*s,unsignedcharn){i
19、nti;intd=0;intfore=0;intlen=strlen(s);for(i=0;i