字符替换:编写一个函数strchange是什么意思,其原型为: char *strchange是什么意思( char * str, char c1,char c2 );

void change是什么意思{ str=“test ok”; ch[0]=‘g’; } } 看看输出结果 good and gbc java中没有了c++中 这样的引用符号,也没像c#中那样提供了out与ref 那么它是怎么做的呢 做什么事情都要去除例外的东西String类就是此类问题的┅个特殊情况 为什么特殊呢? 因为它是一个引用类型确执行的是值传递。这样说有些抽象还是举个例子吧 right”; } } 看看结果吧: java test java test 你惊奇嘚发现s的值并没有改变!你会问了,String不也是引用类型的吗怎么它的值没有改变呢? 因为是这样的: String被设计为不可修改的类型也就是对String對象的任何修改都将重新创建一个对象而放弃以前的内存空间的引用! 如上例: 比如 s指向0x2344, 当它赋值给str时str也同样指向了0x2344而当 执行str=”3gg over right”後,str指向了别的地方也许是 0x2222或者其他,反正不是0x2344了所以当你输出s的时候,它的值并没有被修改! 综上所述:基本数据类型传递的是值嘚拷贝;对象类型传递的是引用的拷贝;而String类型传递的虽然也是对象但它不同于一般的对象类型,它String被设计为不可修改的类型也就是對String对象的任何修改都将重新创建一个对象而放弃以前的内存空间的引用! 按值传递还是按引用传递 这个在Ja

}

我要回帖

更多关于 change是什么意思 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信