VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 751|回复: 3

[求助] 数组大小怎么会不一样?

[复制链接]
96_avatar_middle
在线会员 发表于 2018-5-19 16:03:20 | 显示全部楼层 |阅读模式
3驿站币
#include<iostream>
using namespace std;


void get_min_max(int src[], int* max_v, int* min_v)
{
        cout << sizeof(src) << endl;
        for (int i = 0; i < (sizeof(src) ); i++)
        {
                *max_v = (*max_v > src[i] ? *max_v : src[i]);
                *min_v = *min_v < src[i] ? *min_v : src[i];

        }

}
void main()
{
        int s[4] = {1,2,3,4}; int max; int min;
        max = min = s[0];
        cout << sizeof(s) << endl;
        get_min_max(s,&max,&min);
        cout << "max is" << max << endl;
        cout << "min is" << min << endl;


}

运行显示:数组s的大小为16,这可以理解,4个元素,每个int元素占4字节,大小为16;
                 不过形参数组src大小为什么会是4呢?
                 不是实参数组传递给了形参吗?大小怎么会变?

最佳答案

查看完整内容

src 数组的大小得通过参数传进去才行,不然在函数内部获取不到!




上一篇:求助之前有个GOOGLE翻墙找资料的帖子哪儿去了,找不到了
下一篇:C++源码兼容问题-看内容-有偿
51_avatar_middle
online_admins 发表于 2018-5-19 16:03:21 | 显示全部楼层
src 数组的大小得通过参数传进去才行,不然在函数内部获取不到!
51_avatar_middle
online_admins 发表于 2018-5-19 23:20:48 | 显示全部楼层
96_avatar_middle
ico_lz  楼主| 发表于 2018-5-20 07:33:05 | 显示全部楼层
恩,懂了!!形参的大小不能在函数内部得到!!得想其它办法!
谢谢大神!!!
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2019-9-18 22:22

Powered by Discuz! X3.4

© 2009-2019 cctry.com

快速回复 返回顶部 返回列表