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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/maotianyi941005/article/details/80692386

数组作参(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)

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

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


猜你喜欢

转载自blog.csdn.net/maotianyi941005/article/details/80692386