C++中 ,一个数组是不是可以连续存储不同数据类型的多个数据啊?如果可以,应该怎样存呢?

我是新手,望高手指点!!

一般的数据是不行的,但有一种数据类型叫做共用体,可用来存不同类型的数据。定义方法的例子如下:
union icf
{int i;   char c;   float f;   };
icf arrDate[5];
arrDate[0].i=3;
arrDate[1].c='a';
arrDate[2].f=4.3;
则arrDate的第一个元素中存的是整型,第二个元素中存的是字符型,第三个元素中存提浮点型。
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-08-17
额,数组中的数据类型应该都是一样的。如果有不同数据类型的,可以定义一个struct,其中包含了你想要的数据类型,然后定义struct数组就行了。本回答被提问者采纳
第2个回答  2011-08-17
理论上说是不可以,数组是一组同类型的数据的集合。
第3个回答  2011-08-17
#include <stdio.h>
int main(void)
{
char tmp [100];

tmp[0] = 'A';
*(int *)(&tmp[1]) = 23;
*(float *)(&tmp[5]) = 23.0f;

printf("%c %d %f\n", tmp[0], *(int *)(&tmp[1]), *(float *)(&tmp[5]));
return 0;
}

最好别这样,虽然内存中才不管你存什么

C++中 ,一个数组是不是可以连续存储不同数据类型的多个数据啊?如果可 ...
一般的数据是不行的,但有一种数据类型叫做共用体,可用来存不同类型的数据。定义方法的例子如下:union icf {int i; char c; float f; };icf arrDate[5];arrDate[0].i=3;arrDate[1].c='a';arrDate[2].f=4.3;则arrDate的第一个元素中存的是整型,第二个元素中存的是字符型,第...

C++数组能在同一个元素中存储不同类型的值吗?比如在同一个元素中分别...
直接用标准定义是不行的,所有数组元素类型必须一致。但是你可以自定义联合(一种特殊结构)类型并定义数组。关键词:union 联合中可以含多种不同类型的变量(字符串类型要用指针),内存占用长度自动,可以用sizeof获得,但是与结构不同的是联合中的多种变量共享一个内存空间,所以后赋值的会冲刷掉先赋值...

c c++一个变量存储多个不定长度的数组
上面那个说动态数组的不行的,动态数组不能保存多个,只能保存一个,可以用json或者vector

C++中怎么用数组同时存放多个字符串呢?
方法二:你不愿意写链表,那么就用 string 数组为存放课程名信息,但是这样要做到学科代码和课程名的一一对应,是很麻烦的。所以,我建议将数据库原理的思想搬过来,将一一对应关系的字段“捆绑”在一起。

C++中,往一个一维数组中连续输入数值,为什么在超过数组元素个数后还能...
如果你在程序中只是定义了一个数组应该不能输出的(我的理解)。是要是你不止定义了这一个数组的话,那么就可能出现你说的那种现象。因为自动变量在系统内存中的存放次序并没有统一的规定,但系统在一般情况会按照程序中定义这些对象的书写顺序依次存放。如:include <iostream.h> void main(void){ in...

C++中静态数组不用释放内存吗
比如,你写一个数组用来存放一个班所有人的数学成绩,如果你知道这个班一共有50个人,那好办,直接 int grade[50];这样编译器在编译阶段就知道该为这个数组分配多少内存了,这就叫静态分配。那要是这个班的人数是未知的,需要用户手动输入来确定呢?那就需要动态分配了:void func(int student_count)...

C++实现一个Vector类,可以保存多个int类型数据,要求如下:
按题目要求可以建立一个带两个成员数据的Vector类:class Vector { int *nums;unsigned size;public:构造函数 Output函数 } 第二个可以直接return size即可;第三个equal可以重载为友元函数,也可以重载为成员函数。第四output函数就是普通常规数组输出函数。

怎样用C++输出数组元素的值?
按照题目的要求我们可以直接把数据存到数组之中,然后倒序输出数组元素即可,不需要对数据进行改变。正确代码如下:include <stdio.h> define N 2000 int main () { int i=0;int n=0,a[N];scanf("%d",&n);for(i;i<n;i++){ scanf("%d",&a[i]);} for(i=n-1;i>=0;i--){ pr...

c++数组中元素的默认值是多少
没有默认值之说的,你定义一个数组的时候,编译器就给你在堆或者栈中找一个够存放的内存,至于里面的数据是多少就不得而知了,看你上次使用完这段内存后留下了什么。

为什么在c++中定义数组时数组的常量表达式不能包含变量?
你放变量在里面,当然编译期间都不知道这个数组的大小,当然不行了。这类变量一般是在栈上分配空间,只不过不同类型变量位于栈的不同段。有些变量是在运行期间分配空间的,这样的变量里面可以有变量,因为变量的值在运行期间可以确定,系统就知道为它分配多少空间。但一般这类变量是在堆上分配空间。

相似回答