这篇文章主要介绍了c++指针传递的作用是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C++指针传递的作用是什么文章都会有所收获,下面我们一起来看看吧。具体如下void pointerTest(i
这篇文章主要介绍了c++指针传递的作用是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C++指针传递的作用是什么文章都会有所收获,下面我们一起来看看吧。
具体如下
void pointerTest(int num) { num = 20;} int main() { int num = 10; pointerTest(num); LOGI("%d", num) // 打印出来的结果是 10 return 0;}
在这个例子中,main 函数定义了整型 num,值为 10,然后以参数传递给 pointerTest 函数,在 pointerTest 函数中,直接对传进来的 num 赋值为 20。最终,打印出来的结果还是 10。
为啥呢?熟悉 java 的人很快会反应过来,因为 int 是基本数据类型,要用引用数据类型。
public static void pointerTest(String str) { str = "wk"; } public static void main(String[] args) { String str = "test"; pointerTest(str); System.out.println(str); // 打印出来的结果是 test }
String 是引用数据类型了吧,但是打印出来的结果仍没被改变
其实对于引用数据类型参数而言,只能对这个对象进行相应的操作(get/set),并不能直接替换整个对象
C/C++ 中得意于指针,能够修改函数外的变量值
void pointerTest(int *num) { *num = 20;} int main() { int num = 10; pointerTest(&num); LOGI("%d", num) // 打印出来的结果是 20 return 0;}
字符串也是一样的:(C中的字符串类型为 char*)
void pointerTest(char **str) { *str = "wk";} int main() { char *str = "test"; pointerTest(&str); LOGI("%s", str) // 打印出来的结果是 wk return 0;}
在 pointerTest 函数中,对传进来的指针进行取值(*)对外部参数进行修改。按照这个思路反推,那么我们在传递内存地址给函数 其实是 提供函数修改参数的能力
关于“C++指针传递的作用是什么”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“C++指针传递的作用是什么”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网其他教程频道。
--结束END--
本文标题: C++指针传递的作用是什么
本文链接: https://www.lsjlt.com/news/356289.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0