cpp就是编译c++文件,支持c++语法;而c就是编译c语言文件,支持c语言
引用
引用是C++对C的一个扩充,c语言没有引用,只是作为取地址;引用符“&”是c++语言中
1、变量的引用就是变量的别名,对这个引用的操作就是对这个变量的操作
2、将引用作为函数参数,来扩充函数传递数据的功能
例如:文件就得命名为.cpp,用C++来编译
#include <stdio.h> #include <stdlib.h> void exgcd(int a, int b, int& x, int& y, int& d); int inv(int t, int p); //欧几里得函数 void exgcd(int a, int b, int& x, int& y, int& d) { // 用到了引用 ‘&’ if (!b) { d = a, x = 1, y = 0; } else { exgcd(b, a % b, y, x, d); y -= x * (a / b); } } //返回t对p的逆元 int inv(int t, int p) { int d, x, y; exgcd(t, p, x, y, d); return (x % p + p) % p; //x可能为负,也可能过大 } int main() { int m = 7, n = 26; printf("%d", inv(m, n)); return 0; }
.C文件中出现函数参数为引用则出现莫名其妙的错误
void InsertSort(SqList &L);error C2143: syntax error : missing ')' before '&'