分享

C++数组随笔

 程序生活 2013-10-30
在函数声明中,如果有下面的写法:
int func(int a[10])
{
....
}
其中int a[10]的声明编译器自动处理为int *a也就是说,在函数的形参列表里指定数组的成员个数是没有意义的,所以,你传入的实参究竟是比10多还是比10少对于调用函数而言都是合法的。

另外,你在函数的形参里指定数组的大小,编译器实际上并不给这个数组分配实际的空间,也就是说,形参里即使你定义成数组,实际上也是当指针来用

你在函数的形参里指定数组的大小,编译器实际上并不给这个数组分配实际的空间

所以在fun中 sizeof(array) = 4

因为 array就是一个简单的指针

所以在上层函数中 sizeof(array)/sizeof(type)  -- array是形参数组 这样的结果是 1
数组作为形参时 只是简单的指针来处理

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多