c++ 中怎么传递可变参数
答案:2 悬赏:50 手机版
解决时间 2021-03-14 08:16
- 提问者网友:玫瑰园
- 2021-03-13 11:26
c++ 中怎么传递可变参数
最佳答案
- 五星知识达人网友:行雁书
- 2021-03-13 12:04
void __cdecl fun(int a, ...){
int* p = &a;
while (*p != 0){
printf("%d\n", *p++);
}
}
int main(int argv, char** argc)
{
fun(1, 2, 3, 4, 5, 0);
fun(6, 7, 8, 0);
return 0;
}
函数参数就是一段连续的内存,取到首地址后,想怎样就怎样。可以是任何类型,任何长度。可变参数用...表示。
int* p = &a;
while (*p != 0){
printf("%d\n", *p++);
}
}
int main(int argv, char** argc)
{
fun(1, 2, 3, 4, 5, 0);
fun(6, 7, 8, 0);
return 0;
}
函数参数就是一段连续的内存,取到首地址后,想怎样就怎样。可以是任何类型,任何长度。可变参数用...表示。
全部回答
- 1楼网友:春色三分
- 2021-03-13 13:05
上面函数调用是按值传递,即把实参值赋值给形参。
变量初始化的两种形式:
复制初始化(用等号)、直接初始化(用圆括号)。注意初始化与赋值是两种不同的操作,初始化指创建变量并给它赋初始值,而赋值则是擦除对象的当前值并用新值代替 。
当初始化类类型对象时,复制初始化和直接初始化有差别。而对内置类型来说,它们几乎没有差别。记住直接初始化语法更灵活且效率更高 。
内置类型变量的初始化:全局变量都初始化成 0,函数里的局部变量不进行自动初始化。
类类型变量的初始化:由构造函数来控制类对象的初始化。用户定义对象时若没有进行初始化,类会用默认构造函数来初始化。类中一般要定义默认构造函数,若类没定义默认构造函数,则定义对象时必须显示地初始化
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯