一、数组有两个特殊性质:

1.不能复制数组。因此不能编写使用数组类型形参的函数。

2.使用数组名字时,数组名会自动转化为指向其第一个元素的指针 。因此,处理数组的函数通常通过操纵指向数组中的元素的指针来处理数组。

一下三种声明是等价的:

void print(int*){}
void print(int[]){}
void print(int[10]){}

上述三个形参类型都是int*

二、但如果形参是数组的引用,编译器不会将数组实参转化为指针,而是传递数组的引用本身,此时,数组大小成为形参和实参类型的一部分,编译器会检查数组实参的大小和形参的大小是否匹配。

void print(int (&arr)[10]){}

三、如void print(int (a*)[10])

相关文章:

  • 2022-03-01
  • 2021-08-05
  • 2022-03-09
  • 2021-12-15
  • 2022-03-04
  • 2022-02-27
  • 2021-09-05
猜你喜欢
  • 2021-06-13
  • 2021-09-11
  • 2021-04-14
  • 2021-07-07
  • 2021-04-11
  • 2021-06-30
  • 2021-12-20
相关资源
相似解决方案