出C参数

前端之家收集整理的这篇文章主要介绍了出C参数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
void swap(int &first,int &second){
    int temp = first;
    first = second;
    second = temp;
}

//////

int a=3,b=2;
swap(a,b);

在上面的例子中,C编译器抱怨“void swap(int& first,int& second)”具有错误的语法错误,如“&”之前“(/ {”.我不明白为什么?C不支持这个功能,请澄清,谢谢.

解决方法

C不支持通过引用.所以你需要使用指针来做你想要实现的事情:
void swap(int *first,int *second){
    int temp = *first;
    *first = *second;
    *second = temp;
}


int a=3,b=2;
swap(&a,&b);

我不推荐这个:但是我补充一下它的完整性.

如果您的参数没有副作用,您可以使用宏.

#define swap(a,b){   \
    int _temp = (a); \
    (a) = _b;        \
    (b) = _temp;     \
}

猜你在找的C&C++相关文章