C Void指针问题

标签 c pointers

我在 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/

相关文章:

C编程。为什么函数指针会破坏优化

C - printf 不显示完整的字符串

c - 求五次多项式一次根的代码

c++ - 从所有类访问对象数组

代码有效,但抛出不兼容的指针类型警告

c++ - 使用对象或指向对象的指针作为类成员和内存分配

Ctrl + C 处理程序在某些主机上工作而不在其他主机上工作

c - 以下C语言程序的输出是什么

c++ - 链接公共(public)变量和私有(private)变量(具有对私有(private)变量的写访问权限)

java - 是否有可能在java中获取变量堆上的地址?