C语言输出分类字符串
时间: 2024-12-23 12:13:35 浏览: 4
在C语言中,你可以使用结构体和指针来实现字符串的分类输出。例如,如果你有一个包含不同类型数据的数组,并希望根据特定条件将它们视为一类,可以创建一个结构体来存储这个数据,然后定义一个函数来打印这些分类。
```c
#include <stdio.h>
#include <string.h>
// 定义一个结构体来表示一个分类项
typedef struct {
char *category;
void *data; // 使用void*存储不同类型的数据
} CategoryItem;
// 打印分类函数
void print_category(CategoryItem category[], int count) {
for (int i = 0; i < count; i++) {
printf("Category: %s\n", category[i].category);
switch (category[i].data->type) { // 假设type是一个成员,用于标识数据类型
case TYPE_INT:
printf("Data: %d\n", *(int*)category[i].data);
break;
case TYPE_FLOAT:
printf("Data: %.2f\n", *(float*)category[i].data);
break;
// 添加更多case处理其他类型...
default:
printf("Unknown data type.\n");
break;
}
printf("\n"); // 每个类别结束后换行
}
}
// 示例使用
void add_to_category(char *category, void *data) {
CategoryItem new_item = {category, data};
// 将新item添加到你的数组或其他数据结构中
}
int main() {
// 创建并初始化分类数据
CategoryItem items[] = {
{"Numbers", &some_int_data},
{"Floats", &some_float_data},
{"Strings", &some_string_data}
};
print_category(items, sizeof(items)/sizeof(items[0]));
return 0;
}
```
阅读全文