#include <iostream>
void ArraySize(int arrMyarr[])
{
std::cout << sizeof(arrMyarr) << '\n';
}
void ArraySize1(int *arrMyarr)
{
std::cout << sizeof(arrMyarr) << '\n';
}
int main()
{
int arrTemp[] = { 122, 11, 22, 63, 15, 78, 143, 231 };
std::cout << sizeof(arrTemp) << '\n';
ArraySize(arrTemp);
ArraySize1(arrTemp);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
输出:32 4 4
以下两个函数声明是否相同?
void ArraySize(int arrMyarr[]);
void ArraySize1(int *arrMyarr);
以下两个函数声明是否相同?
是的,完全.传递时,数组会衰减到指向其第一个元素的指针,这就是您所看到的原因4.为了防止这种情况,可以使用或(C++ 11)编译时间大小的C类数组.std:vector::size()std::array
| 归档时间: |
|
| 查看次数: |
110 次 |
| 最近记录: |