2016 - 2024

感恩一路有你

数组作为函数参数传递 指针参数与数组参数的关系?

浏览量:1683 时间:2021-03-11 12:25:08 作者:admin

指针参数与数组参数的关系?

在C/C程序中,指针和数组在许多地方可以相互替换,给人一种等价的错觉。

在静态存储(如全局阵列)或堆栈中创建阵列。数组的名称对应于(而不是指向)一个内存块,并且它的地址和容量在其生存期内保持不变。只能更改数组的内容。

指针可以随时指向任何类型的内存块,其特点是“可变”,所以我们经常使用指针来操作动态内存。

当数组作为函数参数传递时,数组将自动退化为相同类型的指针。

所以:

char a[]=“你好世界”

char*P=a

cout<< sizeof(a)<< endl//12字节

cout<< sizeof(P)<< endl//4字节

void func(char a[100])

{

cout<< sizeof(a)<< endl//4字节而不是100字节

}

数组作为函数参数传递 数组传参怎么理解 数组的参数传递方式

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。