【c/c++】指针和引用


数组作参(void change(int a[], int b[][5])

一维数组可省略长度,二维需写第二维

和一般的局部变量不同,数组作参时,在函数中对数组元素的修改就等同于是对原数组的修改。

指针(from c

变量的地址一般指它占用的第一个字节的地址,c中通过指针来表示内存地址,指针是一个unsigned类型整数

取变量地址: &a

指针变量:存放指针,定义为 类型* p;

给指针变量赋值: int *p = &a;//赋值给p

取地址里的内容:*p

c中数组名也作为数组的首地址使用,即 a == &a[0],a+i == &a[i](这里a、a+i都是地址,要取内容的话是*(a+i)

指针类型作参:void change(int *p)视为把变量地址传入函数,原数据会被改变

使用指针交换两个数:

void swap(int* a ,int* b){
    int temp = *a;
    *a = *b;
    *b = temp;
}
//传入的a、b都只是地址的副本,对地址本身进行交换并不能对main函数里的地址进行修改,只能对地址指向的数据进行修改


引用(from c++

void change(int &x)

传入的参数名和原参可以不同

引用是产生变量的别名,常量不可以使用引用


智能推荐

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
© 2014-2019 ITdaan.com 粤ICP备14056181号  

赞助商广告