本文共 4040 字,大约阅读时间需要 13 分钟。

这篇文章将带我们了解到(以后内容将头文件省略):
概念:引用是变量的一个别名(但是只存在别名是行不通的)
int main(){     int a = 3;  int &b = a;//引用必须初始化    b = 10;//改变引用的值、也就对应改变了其变量的值  cout<< a <   typedef struct{     int x;  int y;}Coor;int main(void){     Coor c1;  Coor &c = c1;  c.x = 10;  c.y = 20;  cout<< c1.x <   int main(void){     int a = 10;  int *p = &a;  int *&q = p;  *q = 20;  cout<< a <   C语言
其中涉及到了C语言中较难的一个知识点——指针在实参和形参之间的传递过程(代码中、将x和y的地址作为实参分别传递给指针 *a 和 *b 、既完成了地址的传递也完成了值的传递)
void fun(int *a,int*b){     int c = 0;  c = *a;  *a = *b;  *b = c;}int main(){     int x = 10;  int y = 20;  fun(&x,&y);  return 0;}   C++
&a和&b分别是x和y的引用、改变a和b的值也就对应改变了x和y
void fun(int &a,int&b){     int c = 0;  c = a;  a = b;  b = c;}int main(){     int x = 10;  int y = 20;  fun(x,y);  return 0;}   int x = 3;//变量const int x = 3;//常量
const int *p = NULL;int const *p = NULL;//完全等价const int *const p =NULL;int const * const p = NULL;//完全等价1. int x = 3; const int *p = &x; //p = &y;正确 //*p = 4;错误2. int x = 3; int *const p = &x; //p = &y;错误const int x = 3;const int *const p = &x;//p = &y;*p = 4;错误
1. int x = 3; const int &y = x; //x = 10;正确 //y = 20;错误
1. const int x = 3; x = 5;2. int x = 3; const int y = x; y= 5;3. int x = 3; const int *y = &x; *y = 5;4. int x = 3,z = 4; int *const y = &x; y = &z;5. const int x = 3; const int &y = x; y = 5;6. const int x = 3; int *y = &x;
int main(){     int x = 3;  int y = 5;  int *const p = &x;  *p = 10;  cout<< x <   int main(){     int x = 3;  int y = 5;  int const*p = &x;  p = &y;  cout<< x <   int main(){     int x = 3;  int y = 5;  int const &z = x;  z = 10;  cout<< x <   int main(){     int x = 3;  int y = 5;  fun(x,y);  cout<< x << "," << y <   void fun(int i,int j = 5,int k = 10);//正确void fun(int i,int j = 5,int k);//错误
void fun(int i,int j = 5,int k = 10);//声明函数void fun(int i,int j,int k);//定义函数
void fun(int i,int j = 5,int k = 10);void fun(int i,int j,int k);{     cout<< i << j << k;}int main(){     fun(20);  //输出20 5 10  fun(20,30);  //输出20 30 10  fun(20,30,40);  //输出20 30 40  return 0;}   getMax(int x,int y,int z)//新函数名getMax_int_int_intgetMax(double x, double y)//新函数名getMax_double_double
int main(){     int i = 10;j = 20,k = 30,m;  m = max(i,j,k);  cout<< "max = " << m <       a)  a = b;  if(c>a)  a = c;  returm a;}int main(){     int i = 10;j = 20,k = 30,m;  int a,b,c;  a = i;b = j;c = k;  if(b>a) a = b;  if(c>a) a = c;  m = a;  cout<< "max = " << m <       int *p = new int;//申请内存delete p;//释放内存
int *arr = new int[10];//申请块内存delete [ ]arr;//释放块内存
void *malloc(size_t size);void free(void *memblock);
newdelete
int *p = new int[1000];if(NULL == p){     //内存分配失败}   int *p = new int;if(NULL == p){     //内存分配失败  //异常处理}  delete p;p = NULL;   int *p = new int[1000];if(NULL == p){     //内存分配失败  //异常处理}  delete [ ]p;p = NULL; 转载地址:http://orqo.baihongyu.com/