例如本人定义一个数组 iint x_data[1280],先不初始化,然后本人再给它赋N个整数(数的个数和大小都是未知的),那么赋值完成后本人要怎么样获取这个数组里元素的个数呢?本人想了下,用sizeof(x_data)肯定是不行的,原因是本人已经定义好了它的大小为1280,所以sizeof”以后的结果应该就是4*1280=5120。求高手解答!
解决方案
5
没法子。
没有初始化的数据,不表示中间没有存储什么值
只是表示这个数据的值,没有指定,
因而,没有清晰的,确定的意义。
假如非要,不初始化,而往里面填值,
并且需要知道有多少个数据(元素)中间的值,是有意义的(经过填充的),
用另外一个变量,记录有多少个元素填充了就可以了。
没有初始化的数据,不表示中间没有存储什么值
只是表示这个数据的值,没有指定,
因而,没有清晰的,确定的意义。
假如非要,不初始化,而往里面填值,
并且需要知道有多少个数据(元素)中间的值,是有意义的(经过填充的),
用另外一个变量,记录有多少个元素填充了就可以了。
10
既然你说这N个数个数不确定,那建议用vector、array等容器,可以自动增长内存,同时容器会记录元素个数,可以用size()函数得到
10
要么读的时候遍历计算出个数,要么就是拿一个变量纪录已经放入的个数
5
5
嗯,有C++的容器类。
在不初始化的条件下,读入元素的个数是无解的啊。
除非就是事先记录下来。
在不初始化的条件下,读入元素的个数是无解的啊。
除非就是事先记录下来。
5
可以定义一个变量来统计赋值的数量
5
自定义个数据结构体
5
这个除非你用标准库vector,通过size函数获取;
要不就是有个辅助变量,每次你赋值的时候+1;
不然就是你的数组存的值有固定的取值范围,从0开始遍历到不在取值范围内的那个元素的下标就是元素个数。
要不就是有个辅助变量,每次你赋值的时候+1;
不然就是你的数组存的值有固定的取值范围,从0开始遍历到不在取值范围内的那个元素的下标就是元素个数。