您的位置首页生活快答

C语言数组学习有什么心得?

C语言数组学习有什么心得?

的有关信息介绍如下:

C语言数组学习有什么心得?

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

e.g.int

hourly;//数组定义

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={{1,2,3,4},{5,6,7,8},{9,10,11,12}};

假设数组起始地址2000,则

表示形式含义地址

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

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

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

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

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

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

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

数组是规则化依次排列的同类量的集合,对于数组操作也就是对于一群同类型数据操作,需要结合循环进行规则化数组元素操作,其中数组元素也就是一般变量。

多看书,多思考。