帮我用c语言写一段代码,函数名为void print_Data;形式参数为Data d;要求 Print the content of a Data;Different types of data are printed in some proper way according to its different typeid.
时间: 2023-02-06 21:12:35 浏览: 99
好的,我会尽力帮你。
这是一个用 C 语言实现的代码片段,它可以按照不同的类型打印 Data 类型的内容。
```
#include <stdio.h>
typedef enum {
INTEGER,
FLOAT,
STRING
} TypeId;
typedef union {
int i;
float f;
char* s;
} Value;
typedef struct {
TypeId type;
Value value;
} Data;
void print_Data(Data d) {
switch (d.type) {
case INTEGER:
printf("INTEGER: %d\n", d.value.i);
break;
case FLOAT:
printf("FLOAT: %f\n", d.value.f);
break;
case STRING:
printf("STRING: %s\n", d.value.s);
break;
}
}
```
在这个代码片段中,我们定义了一个枚举类型 `TypeId`,表示数据的类型。然后我们定义了一个联合类型 `Value`,用于存储不同类型的数据。最后,我们定义了一个结构体 `Data`,包含一个 `TypeId` 类型的字段和一个 `Value` 类型的字段。
函数 `print_Data` 接受一个 `Data` 类型的参数,然后使用 `switch` 语句根据数据的类型打印出不同的内容。
希望这个代码片段能帮到你。