子函数内修改主函数的普通变量
#include <iostream>
void modify_num(int &b){
b++;
}
int main() {
int a=10;
modify_num(a);
printf("%d",a);
return 0;
}
等价c语言
void modify_num(int *b){
(*b)++;
}
int main() {
int a=10;
modify_num(&a);
printf("%d",a);
return 0;
}
子函数内修改主函数的一级指针变量
#include <iostream>
void modify_pointer(int *&p,int *q){
p=q;
}
int main() {
int *p=NULL;
int a=10;
int *q=&a;
modify_pointer(p,q);
printf("%d",*p);
return 0;
}
等价c语言
#include <stdio.h>
void modify_pointer(int **b,int *c){
*b=c;
}
int main() {
int a=10;
int *p=NULL;
int *q=&a;
modify_pointer(&p,q);
printf("%d",*p);
return 0;
}