嵌入式学习DAY11

一维字符型数组:
一维字符型数组,做函数形参

void printStr(char s[1000]); //形式上 写成字符数组的形式 
void printStr(char * s); //编译器最终当做指针变量处理

函数调用:
printStr(s); //数组名  
             //注意: 此时不需要传数组长度 ---因为字符串有结束标志 

数组作为函数参数,传递的是数组首元素的地址。

数组名可以做形参,可以做实参。

说明:
(1) 用数组名作函数参数,应该在主调函数和被调用函数分别定义数组,例中 array
是形参数组名, score 是实参数组名,分别在其所在函数中定义,不能只在一方定义。
(2) 实参数组与形参数组类型应一致(今都为 float 型),如不一致,结果将出错。
(3) 在被调用函数中声明了形参数组的大小为 10, 但在实际上,指定其大小是不起任
何作用的,因为 语言编译对形参数组大小不做检查,只是将实参数组的首元素的地址
传给形参数组。因此,形参数组名获得了实参数组的首元素的地址,前巳说明,数组名代
表数组的首元素的地址,因此,形参数组首元素 (array[O]) 和实参数组首元素 (score[O])
具有同一地址,它们共占同一存储单元, score[n] array[n] 指的是同一单元。 score[n]
array[n] 具有相同的值。
(4) 形参数组可以不指定大小,在定义数组时在数组名后面跟一个空的方括号。有
时为了在被调用函数中处理数组元素的需要,可以另设一个形参,传递需要处理的数组元
素的个数。

用数组名作函数实参时,不是把数组元素的值传递给形参,而是把实参数组的首元素的地址传递给形参数组,这样两个数组就共占同一段内存单元。

你可能感兴趣的:(学习)