基础的指针大家都会用吧
#include<stdio.h>
int main(void)
{
int num = 7;
int *p = #//初始化指针,变量num前面要加&
printf("%d 的地址是 %p\n", num, p);
return 0;
}
然后就是C++里面的引用,说白了就是取别名,下面只是举个栗子,这样做是没什么用的,只有传参的时候才能减少堆栈使用。
#include<stdio>
int main()
{
int val = 7;
int &refval = val; ///引用必须要初始化,使其绑定到一个变量上,引用一但初始化(绑定),将始终绑定到同一个特定对象上,无法绑定到另一个对象上
///修改引用的值将改变其所绑定的变量的值
refval = 10;
printf("%d %d\n", val, refval);//10,refval的值和val一样
return 0;
}
函数怎么调用的可以看看这个例子
#include<stdio.h>
void func1(int * num){
printf("func1 num:%d *num:%d &num:%d\n", num,*num,&num);//地址,值,地址的地址
}
void func2(int & num){
printf("func2 num:%d &num:%d\n", num,&num);//值(别名),地址
}
int main()
{
int val = 7;
func1(&val);
func2(val);
return 0;
}