当前位置:  开发笔记 > IOS > 正文

为什么变量表现得如此奇怪?

如何解决《为什么变量表现得如此奇怪?》经验,为你挑选了1个好方法。



1> Welbog..:

这就是指针的工作原理.您看到的结果是正常和正确的.

让我们列出所有变量以及它们在声明时在内存中指向的字符串:

str1 -> "One"
str2 -> "Two"

然后,执行一些赋值指令:

test = str2;

此分配指针的值str2test.所以指针是

str1 -> "One"
str2 -> "Two"
test -> "Two"

然后

str2 = str1;

分配指针的值str1str2.现在指针是

str1 -> "One"
str2 -> "One"
test -> "Two"

然后打印test,str2指向最初指向的内容,即"两个".

我想,你认为你既然分配str2到的价值str1,以及test它的值str2,该值str1在某种程度上倾泻而下test.不是这种情况.一旦test分配了值,就会丢失有关该值来源的信息.如果你想要test的值与s相同str1,你可以颠倒你的赋值操作的顺序:

str2 = str1;
test = str2;

推荐阅读
喜生-Da
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有