所谓的传值和引用

Posted 邗影

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了所谓的传值和引用相关的知识,希望对你有一定的参考价值。

一直反反复复总是记不太清

今天总结:

如果你在调用的时候用了引用,对应的函数参数必须有*

如果你在调用的时候没有&,则如果你传的是指针,则对应函数要有参数要有*,如果想把参数本身传过去,要在函数定义的参数处加&

 

对于字符串而言和对于整型而言 cout<<a不一样的

void fun(int *a)
{
cout<<a+1<<endl;
}
int main()
{
int a=3;
fun(&a);
}

输出的是一个地址,参数是指针

void fun(int *a)
{
cout<<*a+1<<endl;//取内容
}
int main()
{
int a=3;
fun(&a);
}

。。。。。。。。。。。。。。。。。

void fun(int &a)
{
cout<<a+1<<endl;
}
int main()
{
int a=3;
fun(a);
}//4

参数是常量本身

。。。。。。。。。。。。。。。

void fun(char *a)
{
cout<<a+1<<endl;
}
int main()
{
char *str="fdsfds";
fun(str);
}//dsfds

...................

void fun(char *&a)
{
cout<<a+1<<endl;
}
int main()
{
char *str="fdsfds";
fun(str);
}一样的

。。。。。。。。。。。。。

void fun(char **a)
{
cout<<a+1<<endl;
}
int main()
{
char *str="fdsfds";
fun(&str);
}//一个地址

。。。。。。。。。。。。。。。。

void fun(char **a)
{
cout<<*a+1<<endl;
}
int main()
{
char *str="fdsfds";
fun(&str);
}//dsfds

以上是关于所谓的传值和引用的主要内容,如果未能解决你的问题,请参考以下文章

PHP基础终极版-面试大全 深度理解变量的传值和引用

Java 中的传值与传引用

java的传值方式

函数参数的传值和传指针有什么区别?

php传值和传引用的区别

在c语言编程中,传值方式和传引用方式之间有啥区别?