gpt4 book ai didi

c - 当我不知道我需要的数据类型时我该怎么办?

转载 作者:太空宇宙 更新时间:2023-11-04 02:50:27 25 4
gpt4 key购买 nike

我正在尝试使用数据结构和算法创建自己的库。问题是我不知道数据变量使用什么类型。有一天我可能需要用它来保存整数,另一个用于字符串。知道该怎么做吗?

例子:

typedef struct tree{
int data;
struct tree *left;
struct tree *right;
}tree;

但是如果我想使用字符串,我应该手动更改数据类型还是有其他方法来声明数据?

最佳答案

如果您只是更改您自己程序的内部结构,您可以通过 typedef 定义您自己的数据类型。

typedef int myDataType;
typedef struct tree{
myDataType data;
struct tree *left;
struct tree *right;
} tree;

您确实需要提前确定数据类型(整型、浮点型、字符串),否则稍后您将不得不进行大量重写。不过,使用额外的 typedef 将节省您的时间,并帮助您追踪直接操作或读取数据的所有位置。

此外,如果您只是将结构转换为 (void*),您可以拥有接受 (void*) 作为参数的通用函数,然后重新转换参数在函数体中。

int myFunction(void* input) {
tree* data;
if (!input) {
return (-1);
}
data = (tree*)input;
...
return 0;
}

int main(void) {
tree myTree;
myFunction((void*)&myTree);
...
return 0;
}

关于c - 当我不知道我需要的数据类型时我该怎么办?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22718278/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com