va_start用法的不懂
void simple_va_fun(int i, ...)
{
int j,k;
va_list arg_ptr;
va_start(arg_ptr, i);
j=va_arg(arg_ptr, int);
k=va_arg(arg_ptr, int);
va_end(arg_ptr);
printf("%x\n",&i);
printf("%x\n",&j);
printf("%x\n",&k);
return;
}
int main()
{
simple_va_fun(1,2,3);
return 0;
}
////////////////////////////////////////////////////
这样调用:
int val=1;
simple_va_fun(val,2,3); 能保证val和 simple_va_fun 函数内部的变量j,k 存储连续?
还有谁规定的:i,j k三个变量 存储连续的,求解 变量的地址,对吗?
[解决办法]
不能保证,取决于编译器的实现。
[解决办法]
[解决办法]