同一个数组中的所有数组元素的数据类型必须相同吗

数组元素的类型必须相同。

C语言定义:类型说明符数组名[常量表达式]。

结构或类字段:可以是不同的类型。

您的问题:双关语或明确的规则。

结论:数组元素的类型必须相同。

C++为什么转变数组会都变一个数?

说实话,你的问题很普遍。
如果使用不当,C++ 中的数组可能会导致问题。
刚开始学习的时候,我也面临着失落。

例如,如果将数组传递给函数,则整个数组将与函数操作相同。
发生这种情况通常有两个原因。

首先是数组越界。
想一想,比如你有一个只有5 个元素的数组,你需要从第6 个开始取,或者改变第6 个值。
这绝对是不正确的。
我之前在做一个项目,我只是写了一个循环。
本来应该是1 0圈,但是我手抖了,写了1 1 圈。
结果?最后五个元素更改为随机值。
我调试了好久,还以为出了什么问题,最终发现是循环次数太多了。
因此,在访问数组时,必须确认索引范围。

二、指针问题。
C++ 指针易于使用,但也容易出错。
如果在函数中使用指针来操作数组,如果指针没有正确初始化或者指向了不应该指向的位置,后果将会很严重。
我遇到过一次这种情况,就是函数中的一个本地指针没有及时清除,下次调用的时候又随机操作了内存。
那么数组中的所有元素就变得相等,这是一个典型的指针问题。
因此,当您使用指针时,将其设置为 null 或记得及时清洁。

第三个参数传递问题。
在 C++ 中将数组传递给函数有点棘手。
如果直接传递指针,编译器可能无法传递指针。
但如果通过指针传递,则必须确保在函数中可以正确修改原始数组。
我曾经有一个同事写了一个函数,想要修改传入的数组,但他忘记添加 const。
结果,功能变了,但外部数组没变。
后来发现他是用指针传递的,但是函数声明写得不正确。
因此,传递数组时,使用指针还是引用要根据情况而定。
如果要直接更改原始数据,请使用引用。
如果你不想改变它,就使用指针。

简而言之,你必须小心这一点。
数组大小、指针指向和参数传递方法是应该密切关注的三个方面。
当出现问题的时候,很可能是因为这三块出了问题。

可不可以把整型和浮点型一起放到一个数组中,

哦,其实我以前也这么做过。
我记得当时我写了一个小程序,创建了一个数组来存储一些数据。
当时我傻乎乎的以为int和double都可以塞进数组。
结果,运行的时候,出现了错误信息。
我气得一拍大腿。

那是 2 01 5 年,我在深圳的一家初创公司担任开发人员。
当时我们团队只有三个人,我负责写后端逻辑。
那天,我写了一个数组,打算存储两个数字,一个整数和一个浮点数。
代码如下:
对象[] o = 新对象[2 ]; 整数a=1 ; 双b = 2 .1 ; o[0] = a; o[1 ] = b;
当时我就想,这不就是一个存放数据的地方吗?这很简单。
结果编译器给了我一个“类型转换异常”。
经过审查,我意识到 int 和 double 不能直接存储在 Object 数组中。
是的,我回去查了资料,写了一个新版本:
对象[] o = 新对象[2 ]; o[0] = Integer.valueOf(a); o[1 ] = Double.valueOf(b);
这解决了问题。
当时确实很受打击,但也学到了很多东西。
现在回想起来,还蛮有趣的。
嘿,在这个编程职业中,你必须不断地踏入陷阱才能进步。