吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1509|回复: 9
收起左侧

[求助] 关于c++如何求数组长度的问题

[复制链接]
小白之神111 发表于 2019-11-21 19:49
是这样的,我在练习c++的时候,发现一个问题,不知道怎么解决?
代码如下:


[C++] 纯文本查看 复制代码
#include<iostream>
using namespace std;

void main()
{
	int a[10];
	cout<<sizeof(a)<<endl;
}


运行结果如图:

用什么办法可以出现我要的10,另外,我在这个数组里面输入3个数,然后再输出数组的长度,我要怎么输出得到长度为3而不是10

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

你与明日 发表于 2019-11-21 19:59
_countof()

免费评分

参与人数 1热心值 +1 收起 理由
cube + 1 热心回复!

查看全部评分

xiao14116 发表于 2019-11-21 20:02
1.sizeof是整个数组的占用内存的长度,也就是整个数组的字节长度,你定义的数组是int类型,一个int类型的数据占用内存是sizeof(int)=4,一共10个int,所以结果是40.
2.要看你输入的是什么数,先把整个数组初始化一个不可能出现的数组,然后输入数,最后便利整个数组,计算一下就行了
zyl162180 发表于 2019-11-21 20:11
冰魂 发表于 2019-11-21 20:12
可以用sizeof(a)/sizeof(int)
czx1260 发表于 2019-11-21 20:47
我也是 在学到 数组和 指针,
你这a(10)的意思是   a()={0,0,0,0,0,0,0,0,0,0}
共10个元素
0xkevin 发表于 2019-11-21 20:58
sizeod(a)/sizeof(a[0])  任何数组类型的计算个数
轻描淡写9714 发表于 2019-11-21 21:25
sizeof(array)/sizeof(int)
天清地宁 发表于 2019-11-21 21:27
你需要在定义一个int count = 0; 每次输入一个数字 count++。不管是实际还是工作,都是这么用的。要么就用vector<int>。默认就有成员方法 length() 来获取长度。
kang000 发表于 2019-11-22 15:08
sizeof() 计算的是变量占了多少个字节

int a[10] , 占的字节数为 4(int类型占4字节) * 10(数组个数) = 40

如:
char a[8] 为 1 * 8 = 8
short  a[15] 为 2 * 15 = 30

要计算数组里实际的长度,可百度查找方法

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-30 09:59

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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