您当前的位置:五五电子网电子知识单片机-工控设备51单片机C51学习心得体会,数组在程序设计中的应用 正文
C51学习心得体会,数组在程序设计中的应用

C51学习心得体会,数组在程序设计中的应用

点击数:7482 次   录入时间:03-04 11:55:44   整理:http://www.55dianzi.com   51单片机

1、数组传递给函数,模拟传引用调用的方式自动把数组传递给函数,意味着被调用的函数能够修改原是数组的元素值,

e.g.int hourly[24];//数组定义

void modify(int [],int );//函数原型

modify(hourly,24);//函数调用,数组名即数组第一个元素的地址

注意:为了防止函数中修改数组的值,采用类型限定符const做前缀,数组元素成为函数体中的常量,函数体中任何修改数组元素的企图都会导致编译错误,

e.g.void modify(const int [],int);

2、字符数组

字符串读取:sCANf("%s",string1);//不用地址符号&,因为数组名是数组的起始地址

字符串显示:printf("%s",string1);

e.g.char string1[]="good girl";//字符串

charstring1[]={'g','o','o','d','\0','g','i','r','l','\0'};//上下声明等价

注意:'空字符'='\0',终止符,用printf("%s",string1)输出,得到good girl。

3、多维数组

e.g.int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};

假设数组起始地址2000,则

表示形式含义地址

a指向a[0],即0行首地址。2000

a[0],*(a+0),*a第0行第0列元素地址2000

a+1,&a[1]第1行首地址2008

a[1],*(a+1)第1行第0列元素地址2008

a[1]+2,*(a+1)+2,&a[1][2]第1行第2列元素地址2012

*(a[1]+2),*(*(a+1)+2),a[1][2]第1行第2列元素的值7

在二维数组中,a+i=a[i]=*(a+i)=&a[i]=&a[i][0],即他们的的地址值是想等的。




本文关键字:程序设计  学习心得  51单片机单片机-工控设备 - 51单片机