我在 C(嵌入式编程)中有一个 grep 函数,它接受一个 void 指针作为参数。该函数需要能够处理不同类型的变量,如 chars ints 和 longs。我如何编写函数代码,以便它可以自己找出我传递的变量类型?我不知道这是否可能。谢谢
即。
void grep( void *t )
{
if( t == char )
{
do this
}
if( t == int )
{
do that
}
...
}
最佳答案
不可能准确无误。例如,一个 4 字节的整数可以很容易地解释为一个字符串。例如,以空字符结尾的字符串“ABC”将与整数值 1094861568 相同(取决于字节顺序)。
关于C Void指针问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3198702/