C++拾遗
记录一些刷题过程中遇到的和C++有关的问题
参数传递问题
1 |
|
** a代表声明形参接收传入的实参的值 用 ** 传值失败 形参上改变了数值,没有在实参上改变数值。
1 |
|
a代表传入实参的地址 以地址的形式间接引用 传地址成功的原因利用指针改变了原来的地址,所以实参就交换了。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include<stdio.h>
void myswap(int *p1, int *p2)
{
int t;
t=*p1;
*p1=*p2;
*p2=t;
}
int main()
{
int a, b;
printf("请输入待交换的两个整数:");
scanf("%d %d", &a, &b);
myswap(&a,&b); //交换两个整数的地址
printf("调用交换函数后的结果是:%d 和 %d\n", a, b);
return 0;
}
// 获得结构体中的数据的方法 箭头
void GetADT(ADT *adt){
printf("%d", adt->age);
}
&a代表直接传入实参 直接引用 引用是直接改变两个实参变量a,b的值,所以就交换了。
1 |
|
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!