我正在尝试使用带有泛型类型的C stdarg.h lib.int类型,是我的泛型类型>要理解它,请继续阅读.所以,我的问题是:
我有一个函数接受可变数量的参数.喜欢
void function (int paramN, ...);Run Code Online (Sandbox Code Playgroud)
在我的程序中,没有办法知道,哪个是变量参数的类型,它可以是char,数组,int,short,函数点等...就像
function (paramN, "Hey, I'm a string", 1, function_pint, array, -1); // -1 is a sentinel.Run Code Online (Sandbox Code Playgroud)
所以,我认为,一个int,是32位,在x86(32位)系统中,这将保存所有内存地址.所以,如果我用int得到所有参数,那就不会有问题了,例如,"嘿,我是一个字符串"这个字符串的地址,通常适合32位变量,所以,我只需要制作演员.
我是正确的?
我可以做吗?
注意:我不想让我的函数像printf(这个解决方案,在这种情况下不适合好吗?)
谢谢你的回答.
抱歉我的英语不好.