#include <stdio.h>
//又送地址,又取地址里面值的,好像有点沙雕
//你不就是想要改变这个变量值吗,我给你重新定义一种类型,让你能利用这个变量不就好了
void Change(int* pX) {
*pX = 20;//找到该地址对应的变量,再赋值
}
int main(int argc, char* argv[]) {
int X = 10;
Change(&X);//往函数里面送变量地址
printf("%d\n", X);
return 0;
}
#include <stdio.h>
void ChangeX(int& X) {//函数和被调函数之间实现部分变量共享
X = 20;
}
int main(int argc, char* argv[]) {
int X = 10;
/*
int& refX = X;//引用
refX = 15;
printf("%d %d\n", X, refX);//感觉像是给变量起了一个别名啊
printf("%p %p\n", &X, &refX);//008FF950 008FF950
*/
ChangeX(X);//20,
printf("%d %d\n", X);
return 0;
}
#include <stdio.h>
void add(int& X) {
X = 3;
}
void ChangeX(int& X) {
X = 2;
add(X);
}
int main(int argc, char* argv[]) {
int X = 1;
ChangeX(X);
printf("%d\n", X);
return 0;
}